所以问题很简单,在JavaScript中声明名为"delete“的方法是否安全(明智)。示例:
var request = {
delete : function (url) {
// Some code...
}
}
request.delete('http://page.dev/users/1');
我已经在Firefox中测试过这个功能,但我只是想知道它是否会在其他浏览器中造成问题;或者一般来说,这是否是一个好的做法。
发布于 2013-09-14 03:12:01
如果你使用this['style']
,你永远不会有问题,但是对于this.style
,你应该避免保留字,does includes delete。根据规范,使用保留字作为属性名称实际上是可以的,但我无论如何都会避免使用它,因为周围有一些糟糕的实现(而且,无论上下文如何,使用保留字通常都会有一种糟糕的感觉)。
发布于 2013-09-14 03:15:05
Unicode标识符名是根据
标准第5章“标识符”一节中给出的语法解释的令牌,但做了一些小的修改。标识符是不是ReservedWord的IdentifierName (请参阅7.6.1)。
这意味着您不能将delete
用作变量或函数名,但可以将其用作对象属性名。在以前版本的规范中,情况并非如此,这就是为什么大多数其他答案都建议您避免完全使用保留字。但是,在符合ES5的实现中,应该没有问题。
发布于 2013-09-14 03:13:29
不,这不是一个好主意,因为delete是一个关键字。在最新的版本中,他们限制了它会导致问题的地方,但仍然有一些地方。
避免任何类型的问题的一种方法是使用:
var request = {
"delete" : function (url) {
// Some code...
}
}
request["delete"]('http://page.dev/users/1');
但这可能会有一点优化,而且有点丑陋。我会用另一个名字,比如"remove“。
https://stackoverflow.com/questions/18793529
复制相似问题