为什么这段代码很好:

var test = {
    fn1: function(_origin, _componentType) {
        if(arguments.length > 1) throw "xx";
        // this strict is ok
        "use strict";

        var interface               = new Object(this);
    }
}

虽然这不是
var test = {
    fn1: function(_origin, _componentType) {
        // This strict throws SyntaxError
        "use strict";

        if(arguments.length > 1) throw "xx";
        var interface               = new Object(this);
    }
}

我知道接口(interface)在严格模式下是保留字,但是两个示例都不应该抛出错误吗?

最佳答案

"use strict";必须是函数(或脚本(如果是脚本范围的话))中触发严格模式的第一条语句;在其他任何地方,您也可能正在编写"merry christmas";

关于javascript - 严格模式和保留字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33604583/

10-16 10:48