Internet explorer 8 使用';新';在IE8中?

Internet explorer 8 使用';新';在IE8中?,internet-explorer-8,Internet Explorer 8,在对象中使用单词“new”时Ie8中出现错误。我必须用这个词,因为我在用 我正试着这样做: $(e.items.new).each(function(index) { console.log(index) }); 在ie8中,我得到了一个错误:“预期标识符”。我认为这是因为使用了“新”的保存词 有机会解决吗?谢谢使用[]符号,即在您的情况下e.items['new']而不是e.items.new 这相当于e.items.new,除了JavaScript引擎只将属性名称视为字符串之外,它

在对象中使用单词“new”时Ie8中出现错误。我必须用这个词,因为我在用 我正试着这样做:

$(e.items.new).each(function(index) {
    console.log(index)
});
在ie8中,我得到了一个错误:“预期标识符”。我认为这是因为使用了“新”的保存词


有机会解决吗?谢谢

使用
[]
符号,即在您的情况下
e.items['new']
而不是
e.items.new


这相当于
e.items.new
,除了JavaScript引擎只将属性名称视为字符串之外,它可以是任何东西,无论它是否是有效标识符(
new
是JavaScript中的保留关键字,因此不能用作标识符)。

使用
[]
符号,例如,在您的情况下,
e.items['new']
而不是
e.items.new


这相当于
e.items.new
,除了JavaScript引擎只将属性名视为字符串之外,它可以是任何东西,无论它是否是有效标识符(
new
是JavaScript中的保留关键字,因此不能用作标识符).

它不仅仅是IE8:
new
是一个,在任何浏览器中都不应将其用作变量或键名


如果在定义保留字时使用引号,在检索值时使用括号表示法,则可以使用保留字作为对象键:
e.items['new']

不仅仅是IE8:
new
是一个变量,在任何浏览器中都不应将其用作变量或键名


如果在定义保留字时使用引号,在检索值时使用括号表示法,则可以使用保留字作为对象键:
e.items['new']

+1:最好的解决方案是不要像这样使用保留字。但是如果必须,那么
['name']
语法是唯一的选项。+1:最好的解决方案是不要像这样使用保留关键字。但是如果必须,那么
['name']
语法是唯一的选项。