strict模式
严格模式下你不能使用未声明的变量。
"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。
严格模式限制:
1.不允许删除变量或对象;
2.不允许删除函数;
3.不允许变量重名;
4.不允许使用八进制;
5.不允许使用八进制;
6.不允许使用转义字符;
7.不允许对只读属性赋值;
8.不允许对一个使用getter方法读取的属性进行赋值;
9.不允许删除一个不允许删除的属性;
10.不允许变量名使用“eval”字符串;
11.不允许变量名使用“arguments”字符串;
12.不允许使用with;
13.eval中的代码不能创建eval所在作用域下的变量、函数。而是为eval单独创建一个作用域,并在eval返回时丢弃。
条件语句
if(){...}else if(){...}else{...}
循环语句
普通for循环:for(初始条件;判断条件;递增条件){...} 初始条件只会执行一次,然后运行代码块里面代码,执行完毕在判断条件里面进行判断,如果返回true,那么执行递增语句,否则退出循环
for...in循环:可以把一个对象的所有属性依次循环出来,如果需要过滤掉继承的属性,用 hasOwnProperty()来实现。Array也是对象,每个元素的索引视为对象属性,所以也能遍历,不过需要注意,遍历后得到的是String,不是Number
while循环:while(判断){...}判断条件满足时,进行循环,不满足则退出循环
do...while循环:do{...}while(判断)跟while循环一样,唯一的区别是,do...while 先执行{}里面的代码,然后再进行判断(注意:do...while至少会执行一次,而且其他循环不一定)
for...of循环:ES6标准引入的新语法,属于iterable类型(Array、Map和Set)的集合都可以通过for...of循环来遍历
跟for...in区别,for...in实际上遍历的是对象属性,而for...of真正意义上遍历的数组数据
更好的使用方式:iterable内置forEach方法,它接收一个函数,每次迭代就自动回调该函数