JavaScript弱类型语言。再次之前我都是使用强类型的C++语言。 很多人说弱类型语言能够让程序员更加自由。 在使用过程中很多类型能够自动进行判断,确实在代码实现上自由了不少,可同时也带来了不少的安全隐患,导致出错。 这些隐患也导致程序员不那么自由了。 JavaScript在ES5之后推出了严格模式。做一下总结。
脚本采用严格模式很简单
在所有语句之前放一个特定语句“use strict“;
如果把use strict放在一个文件的开头,当两个js文件合并的时候,另一个js文件里面不是严格模式就是导致错误。所以考虑把代码放入函数里面,这样就不会导致问题了。
1.变量必须要声明类型
"use strict";
hh = "right"
/*Exception: ReferenceError: assignment to undeclared variable hh@Scratchpad/1:10:1*/
2.一个只读属性this.props.strict 是不能被修改值的。
Uncaught TypeError: Cannot assign to read only
3.不能使用with,argument.callee,函数内的arguments,无法更改arguments对象的成员值
4.当this的值为null或undefined是,该值不会转换为全局变量
5.严格模式下不允许使用八进制数字参数和转译字符。
后续工作中碰到的在持续添加