ES5 严格模式
ES5 正常模式 严格模式
IE9及以下IE不支持严格模式
'use strict' 启动严格模式 通常在自己的函数模块中启动
var a = 1;
var obj = {
a: 2
}
function test(){
var a = 3;
with(window){ //严格模式下不许用with
console.log(a) //window输出1 obj输出2 test输出1
}
}
严格模式下不可用caller和callee arguments的属性可能不能用
严格模式下变量必须有声明 var a=b=1 报错
严格模式下参数不能重复 function test(a, a)
严格模式下obj = { a:1,a:2} console.log(obj.a)//输出2
命名空间
番外篇:ECMAScript 发展
ECMAScript
97 1.0
98 2.0
99 3.0 JS通行标准
07 4.0草案 Mozilla Branden Eich
08 4.0中止 容易改善3.1 Harmony
ECMAScript5
09 5.0发布 Harmony ->1/2 JS.NEXT 1/2 JS.next.next
11 5.1 ISO国际标准
13 ES6 = js.next js.next.next 7
13 ES6草案发布
15 ES6正式发布 ESMAScript2015