所以问题很简单,在 JavaScript 中声明名为“delete”的方法是否安全(明智)。例子:
var request = {
delete : function (url) {
// Some code...
}
}
request.delete('http://page.dev/users/1');
我已经在 Firefox 中对此进行了测试,它可以正常工作,但只是想知道它是否会在其他一些浏览器中引起问题;或者一般来说这是一个好习惯。
所以问题很简单,在 JavaScript 中声明名为“delete”的方法是否安全(明智)。例子:
var request = {
delete : function (url) {
// Some code...
}
}
request.delete('http://page.dev/users/1');
我已经在 Firefox 中对此进行了测试,它可以正常工作,但只是想知道它是否会在其他一些浏览器中引起问题;或者一般来说这是一个好习惯。
如果您使用this['style']
,您将永远不会有问题,但是使用this.style
,您应该避免保留字,其中包括 delete。根据规范,使用保留字作为属性名称实际上是可以的,但无论如何我都会避免它,因为周围有一些不好的实现(而且使用保留字通常感觉不好,无论上下文如何)。
不,这不是一个好主意,因为 delete 是一个关键字。在最新版本中,他们限制了会导致问题的地方,但仍然有一些。
避免任何类型问题的一种方法是使用:
var request = {
"delete" : function (url) {
// Some code...
}
}
request["delete"]('http://page.dev/users/1');
但这可能没有那么优化,而且有点难看。我会使用另一个名称,例如“删除”。
delete
位于JavaScript 保留字列表中,使用后果自负。
删除 object.property
删除对象['属性']
我会像其他人建议的那样使用不同的关键字——你可以使用类似的同义词remove
或purge
——你明白了。
但更重要的是 - 确保您正在为调用的易读性进行服务器端验证。http://page.dev/users/1
否则任何人都可以使用“ ”构造一个删除调用
您应该注意,即使使用括号语法来访问属性,也并非在所有浏览器上都是安全的。
Internet Explorer 7 和 8 无论如何都会崩溃。