首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript中声明delete方法安全吗

在JavaScript中声明delete方法安全吗
EN

Stack Overflow用户
提问于 2013-09-14 03:09:36
回答 6查看 10K关注 0票数 28

所以问题很简单,在JavaScript中声明名为"delete“的方法是否安全(明智)。示例:

var request = {
    delete : function (url) {
        // Some code...
    }
}
request.delete('http://page.dev/users/1');

我已经在Firefox中测试过这个功能,但我只是想知道它是否会在其他浏览器中造成问题;或者一般来说,这是否是一个好的做法。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-09-14 03:12:01

如果你使用this['style'],你永远不会有问题,但是对于this.style,你应该避免保留字,does includes delete。根据规范,使用保留字作为属性名称实际上是可以的,但我无论如何都会避免使用它,因为周围有一些糟糕的实现(而且,无论上下文如何,使用保留字通常都会有一种糟糕的感觉)。

票数 10
EN

Stack Overflow用户

发布于 2013-09-14 03:15:05

根据language specification的说法

Unicode标识符名是根据

标准第5章“标识符”一节中给出的语法解释的令牌,但做了一些小的修改。标识符是不是ReservedWord的IdentifierName (请参阅7.6.1)。

这意味着您不能将delete用作变量或函数名,但可以将其用作对象属性名。在以前版本的规范中,情况并非如此,这就是为什么大多数其他答案都建议您避免完全使用保留字。但是,在符合ES5的实现中,应该没有问题。

票数 11
EN

Stack Overflow用户

发布于 2013-09-14 03:13:29

不,这不是一个好主意,因为delete是一个关键字。在最新的版本中,他们限制了它会导致问题的地方,但仍然有一些地方。

避免任何类型的问题的一种方法是使用:

var request = {
    "delete" : function (url) {
        // Some code...
    }
}
request["delete"]('http://page.dev/users/1');

但这可能会有一点优化,而且有点丑陋。我会用另一个名字,比如"remove“。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18793529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档