use strict 使用方法-简单说

来源:互联网 发布:做假化验单的软件 编辑:程序博客网 时间:2024/06/05 17:25
define([
'require',
'jquery'//依赖jquery
],function (require,$) {
'use strict';

return {
jquery:$,
f1:'hello',
m1:fureturnnction () {
'world';
}
}
});

"use strict" "use strict"是JavaScript中一个非常好的特性

标记严格模式后
其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常。
其二:如果在运行期出现了违反严格模式的代码,则抛出执行异常。
注:经过测试IE6,7,8,9均不支持严格模式。

缺点:
现在网站的JS 都会进行压缩,一些文件用了严格模式,而另一些没有。这时这些本来是严格模式的文件,被 merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。

使用方法

// file.js"use strict"function doStuff(){    // use strict is enabled here!}
这样佻的file.js都会应用上"use strict"模式。
如果你仅想在一个函数中使用:

// file.jsfunction a(){    "use strict";    // use strict is enabled in this context    function nestedFunction(){        // and here too    }}

好处

检查对象中的重复键

var zombie = {    eyeLeft : 0,    eyeRight: 1,    // ... a lot of keys ...    eyeLeft : 1}

这段代码会抛出一个错误因为 eyeLeft 出现了两次。这比你用眼睛去找错误要快多了。

未声明变量

plane = 5;
你现在已经知道忘记在这个变量前面加var了。不过如果你不知道,调试起来是非常痛苦的,因为这个变量是声明在全局上下文(global context)中的,而且可能被其他地方改掉。想象一下,如果你声明了一个全局的 i, 在嵌套循环中可能会引起混乱。

重复的参数

function run(fromWhom, fromWhom){}
注意fromWho出现了两次,因此会抛出一个错误。

限制函数中的arguments

var run = function(fromWhom){    arguments[0] = 'alien';    alert(fromWhom);}run('zombie');// alert: 'alien';
现在你可以使用"use strict"

var run = function(fromWhom){    "use strict";    arguments[0] = 'alien';    alert(fromWhom);}run('zombie');// alert: 'zombie';
arguments[0] = 'alien' 改变了参数fromWhom,use strict 又节约了你的时间。
原创粉丝点击