JavaScript——Javascript严格模式笔记
2013-01-31 20:43
323 查看
原文:http://www.nczonline.net/blog/2012/03/13/its-time-to-start-using-javascript-strict-mode/
译文:http://zhoujunmiao.com/?p=292/
阅读笔记:
去除with语句(Eliminates with)当with语句出现在严格模式中时,它会被认为是非法的Javascript语句并抛出语法错误。
防止意外的全局变量(Prevents accidental globals)变量在赋值之前必须声明。给一个未声明的变量赋值,严格模式中,这样做将抛出一个错误。
取消this值的强制转换(Eliminates this coercion)当this值为null或undefined时,不会再将其强制转换为全局对象。this值必须赋值,否则将保留undefined值。这意味着调用构造函数时若漏掉了new关键字也会导致错误
拒绝重复(No duplicates)在对象中定义了重复的属性或者给函数定义了重复的参数名。严格模式下,这两种情况都会导致错误的发生
更安全的eval()(Safer eval())在eval()语句中声明的变量以及函数不会在包含域中创建。
不可改变引发的错误(Errors for immutables)严格模式将保证无论你在何时试图使用一种不被允许的方式修改一个对象或对象的属性时抛出错误。
如何使用:
在现代浏览器中很容易启用严格模式,只需添加下面一条语句:
"use strict";
全局地使用这条指示,意味着同个文件下的所有代码都在严格模式下运行。
最好只在函数内使用严格模式,如果你想将严格模式应用于多个函数,可以使用如下模式( immediately-invoked function expression (IIFE)):
(function() { "use strict"; function doSomething() { // this runs in strict mode } function doSomethingElse() { // so does this } }());
相关文章推荐
- javascript笔记02:严格模式的特定要求
- JavaScript笔记(5)严格模式
- 【学习笔记javascript设计模式与开发实践----1】
- javascript声明提升现象及严格模式
- JavaScript语法支持严格模式:”use strict”
- JavaScript起点(严格模式深度了解)
- [笔记]javascript面向对象 - 继承的几种模式
- JavaScript严格模式
- JavaScript严格模式有什么不同
- 严格模式 (JavaScript)
- javascript中的严格模式
- javascript中的严格模式
- [2017-03-16]javascript严格模式
- Javascript 严格模式use strict详解
- JavaScript学习笔记(三十二) 经典继承模式二-借用构造方法
- JavaScript高级程序设计之函数表达式之私有变量之模块模式第7.4.2讲笔记
- 理解javascript中的严格模式
- JavaScript学习记录——《学用 JavaScript 设计模式》学习笔记(1)
- Javascript 严格模式详解
- JavaScript学习记录——《学用 JavaScript 设计模式》学习笔记(3)观察者模式