一、变量
1.标识符:
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 的变量名区分大小写,A
和a
是两个不同的变量。
标识符命名规则如下。
- 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母,eg:π),以及美元符号(
$
)和下划线(_
)。 - 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字
0-9
。
特殊:
1.中文是合法的标识符,可以用作变量名。
var 临时变量 = 1;
2.包括英文字母和其他语言的字母,eg:π
2.定义变量:
var a = 1; 等价于
var a;//声明
a = 1;//赋值
注意:如果变量赋值的时候,忘了写var
命令,这条语句也是有效的。不写var
的做法,不利于表达意图,而且容易不知不觉地创建全局变量,所以建议总是使用var
命令声明变量。
var b; //如果只是声明变量而没有赋值,则该变量的值是undefined
。
3.变量的声明提前:
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。(仅仅将声明提前,赋值保留在原地)
例如:
var a;
console.log(a);
a = 1;
最后的结果是显示undefined
,表示变量a
已声明,但还未赋值。
4.区块
JavaScript 使用大括号"{}",将多个相关的语句组合在一起,称为“区块”(block)。
使用var
命令声明并赋值了变量a
,然后在区块外部,变量a
依然有效,区块对于var
命令不构成单独的作用域,与不使用区块的情况没有任何区别.在 JavaScript 语言中,单独使用区块并不常见,区块往往用来构成其他更复杂的语法结构,比如for
、if
、while
、function
等。
5.条件语句:if ,switch
注意,if
后面的表达式之中,不要混淆赋值表达式(=
)、严格相等运算符(===
)和相等运算符(==
)。尤其是赋值表达式不具有比较作用。
var a=1,b=3,c=4;
if(a===b){
console.log(b);
}else if (a===c){
console.log(c);
}else{
console.log(a);
}
//1
var x = 1;
switch(x){
case 1
console.log(1);break;
case 2:
console.log(2);break;
default:
console.log("default:" + x);
}
//default:1
注意:case
代码块之中没有break
语句,导致不会跳出switch
结构,而会一直执行下去。
6.三目运算符
表达式?条件为true时执行的表达式:条件为false时执行的表达式
自增自减
var r,l,i = 0;
r = i++;
console.log(r,i)
// 0 1,先赋值再自计算
var r,l,i = 0;
r = ++i;
console.log(r,i)
//1 1,先自计算再赋值
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
二、数据类型
JavaScript 的数据类型,共有六种。number、string、boolean、undefined、null、Object