Javascript:令牌上的语法错误"删除",StringLiteral?

时间:2014-06-27 05:33:44

标签: javascript eclipse

    var TestFunction = function () {

        return {
           delete: function() { // line 1
                // do something
            }
        };
    }

在eclipse的第1行获得以下错误

    Syntax error on token "delete", StringLiteral 

当我将“删除”更改为“delete1”时,错误消失了。是删除保留的关键字吗?

1 个答案:

答案 0 :(得分:1)

是的,delete是一个保留关键字,用于删除对象中的属性,因此它不再可迭代。因此,给出:

var a = { b: 5 };
delete a.b;
console.log(a);
// logs {}

它还可以用于删除全局变量"它实际上也是全局对象的属性,即:

delete a;
// is in browsers equal to
delete window.a;

请注意,您也可以使用delete作为属性名称,但是您需要始终引用它:

var obj = {
    'delete': function() { // line 1
        // do something
    }
};
obj['delete']();