一、块语句
没有块级作用域
var x = 0;
与
{
var x = 0;
}
效果一样
二、声明语句
var a=b=1;//其中b是全局变量
var a=1,b=1; //都是局部变量
三、try,catch,finally
finally表示这个结构最后一定会实现的内容
四、函数
fd();//可在函数声明前调用--函数前置
function fd() {
//do sth
return true;
}
var fe = function() {
//do sth
}
五、for..in
1.顺序不确定
2.enumerable:false不会遍历到
3.for in对象属性受原型链影响
六、循环
while(isTrue) {
//do sth.
}
var i;
for(i=0;i<n;i++){
//do sth.
}
with语句:
with(document.forms[0]) {
console.log(name.value);//document.forms[0].name.value;
}
严格模式
‘use strict’;
1.不能使用with
2.
!function(a){
arguments[0]=100;
//a=100;
}(1);
!function(a){
'use strict';
arguments[0] = 100;
//a=1;
}(1);
!function(a){
'use strict';
arguments[0].x=100;
//a.x=100;
//对象任然是有影响的
}({x:1});
3.configurable为false时delete属性会报错,普通模式下会报错
4.var a=1,2;会报错
5.禁止八进制
6.eval,arguments变为关键字