语句
以分号;标志一个语句的结束,eg
var a = 3;通常一行为一个语句,但是可以有一行多个语句,eg
var a = 1;var b = 2; 变量
声明一个变量
var a;给该变量赋值
a = 1;将声明和赋值放在一起处理称作定义
var a = 1;和iOS不同的是,JavaScript是动态类型的
var a = 1;
a = "hello"在iOS中,则不可以这样,或者在声明的时候,或者在赋值的时候,变量的类型就是确定了的.
声明了一个变量却没有赋值,然后使用该变量,报错:undefined
var a;
a;//undefined既没有声明一个变量也没有赋值,然后使用该变量,报错:undefined
b;//undefined标识符(变量名,函数名的命名规则)
第一个字符不能是数字
不能包含星号
不能包含加减号
不能包含连词线
中文合法,eg
var 我是变量 = 1;保留字
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield
不是保留字但是有特殊含义的字符,也不应用作标识符
Infinity、NaN、undefined
注释(和iOS一样)
单行注释
//单行注释多行注释
/*
多行注释
多行注释
*/兼容HTML单行注释
<!--单行注释-->区块
和iOS不同,不表示独立的作用域,区块内外作用域相同,eg
{
var a = 1;
}
a = 5;流程控制
if...else语句switch和oc是一样的,需要注意的是,判断条件建议使用恒等于"===",一是比较严格,二是系统的Switch采用的是恒等于.
恒等于"==="和等等于"=="的区别在于,"=="会把类型不同的数值先转换为原始数值,然后再做比较,"==="则不会做类型转换,如果类型不同直接返回false
1 == true;//true
1 === true;//false循环语句也和oc相同,do...while,while...do,for...
标签
作用有点像oc里面的goto,跳到指定的代码行.
outside:
for (var i = 0;i<10;i++){
for(var j=0;j<10;j++){
if (i === 1 && j ===2) break outside;
}
}上述代码意为:如果i===1&&j===2直接跳出双层循环;