JavaScript学习笔记---基本语法

187 阅读2分钟

语句

以分号;标志一个语句的结束,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

不是保留字但是有特殊含义的字符,也不应用作标识符

InfinityNaNundefined

注释(和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直接跳出双层循环;