一、两种注释方式
// 这是当行注释
/*
这是多行注释
这是多行注释
*/
二、变量是什么
变量就是一个可以存放“数值”的容器,这个“数值”可以是数字、字符串、函数等。
变量不是数值本身,它是一个用于存储数值的容器,你可以把变量想象成一个个用来装东西的纸箱子。而箱子是可以复用的,这就表明JavaScript的变量是动态类型。
三、声明变量
要想使用变量,你需要先声明。声明一个变量的语法是在 var
或 let
关键字之后加上这个变量的名字。下面是一个简单的例子:
let myName;
let myAge;
在 JavaScript 中,所有代码都以分号结尾(;),最好加上。
你可以在控制台中输入上面的代码进行变量的声明。
在浏览器的任意一个标签页,右键点击检测,点到如图所示的位置即为控制台。Windows
快捷键为F12
。
输入上面的代码:
你可以在控制台输入变量名来验证该变量是否存在
myName;
myAge;
由于这两个变量都没有数值,它们是空的容器,所以输入变量名后回车,会返回一个 undedined
。
如果输入的变量不存在则会报错。例如输入下面不存在的变量名:
my;
四、初始化变量
变量名之后跟上一个 “=”,然后是数值:
myName = "hello";
myAge = 18;
你可以在控制台输入变量名,查看返回的值是不是预期的值。
变量声明和初始化可以放在一起,这也是最常用的方法。
let myName = "张三";
五、var
和 let
的区别
注意:下面的代码都不能在浏览器控制台运行,因为控制台一次只能输入一行代码
var
会进行变量提升
var
声明的变量可以在其声明语句前使用
myName = "Chris";
function logName() {
console.log(myName);
}
logName();
var myName;
var
声明的变量会提升在最前面运行,看下面这段代码
a = "hello";
if (false) {
var a;
}
alert(a);
尽管 if (false)
分支永远不会执行,但是没有关系,var
已经提前处理了。
声明会被提升,但赋值不会
alear(a); // undefiend
var a = "hello";
以上把 var
换成 let
则报错
var
允许多次声明相同名称的变量
用 let
在同一作用域下将一个变量声明两次,会出现错误:
let user;
let user; // SyntaxError: Identifier 'user' has already been declared
用 var
可以重复声明一个变量,无论多少次。新的声明会忽略,但是赋值不会
var user = "hello";
var user = "zhangsan"; // 这个var 无效,因为变量已经声明过了(不会触发错误)
alert(user); // zhangsan
var
声明的变量不是全局变量就是函数作用域,没有块级作用域
if (true) {
var test = true;
}
alert(test); // true
if (true) {
let test = true;
}
alert(test); // ReferenceError: test is not defined
对于循环也是如此:
for (var i = 0; i < 5; i++) {
var one = 1;
}
alert(i); // 5
alert(one); // 1
总结:能用 let
就用 let
六、更新变量
变量的值可以随意更新成你想要的。
let a = "hello";
a = 1;
七、变量命名规则
使用 (0-9,A-Z, a-z, _)
命名。
- 数字不能作为变量名的开头
_
不建议用在变量的开头- 变量尽量见名知义,可以使用驼峰命名法
八、变量类型
Number
无论是整数(30、-10等),还是小数(2.456等)(也叫浮点数),都是Number类型。
数字类型不需要用引号括起来
let num = 18;
String
字符串类型,需要使用单引号或者双引号括起来
let a = "hello";
Boolean
Boolean 的值有两种:true
或 false
let flag = true;
// 更常用的方式
let test = 6 < 3; // false
Array
数组是一个单个对象,其中可以包含很多值,使用方括号括起来,元素之间用逗号分隔。
let a = ["a", "b", "c"];
let b = [10, 15, 18];
访问数组中的某个元素:
a[0]; // a
b[2]; // 18
此处的方括号包含一个索引值,该值指定要返回的值的位置,下标从 0
开始,以后的文章会介绍
Object
创建对象:
let dog = { name: "Spot", breed: "Dalmatian"};
访问对象的属性:
dog.name: // Spot
九、动态类型
let myNumber = "500";
typeof myNumber; // string
myNumber = 500;
typeof myNumber; // number
typeof
是一个操作符,用于返回一个变量的类型,可以看到同一个变量的类型是可变的,说明JavaScript的变量是动态类型。
总结:
虽然不知道自己在写什么,我也知道写的很烂,但是我还是想写。
没学过JavaScript的人看起来可能有点吃力,因为上面涉及的很多东西我都没有介绍,包括作用域,对象,数组等。但是阅读完之后你只需要知道下面几点就是:
- 如何定义变量
- 使用
typeof
操作符查看变量类型 - 记住 5 中变量的类型
- 知道使用
let
定义变量 - 知道
F12
浏览器控制台这么个东西
其他的都无所谓。