当我输入这个看似无辜的代码片段时:
values.name
Run Code Online (Sandbox Code Playgroud)
gedit将名称突出显示为关键字.但是,关于保留关键字的问题的答案链接到的页面未列出名称.我还在SpiderMonkey中进行了几项微不足道的测试,但名字似乎就像一个普通的标识符.
谷歌搜索也没有告诉我太多.但是,我确实在"其他JavaScript关键字"中找到了一个页面列表名称. 我的猜测是name是一个函数或某些DOM元素的成员,并且不会侵入命名空间.
是名真正在JavaScript中的关键词?如果是这样,它会做什么?
在javascript中执行以下代码时:
var name=["Pankaj","Kumar"] ;
for( var i=0;i<name.length;i++)
{
console.log("Hello "+name[i]);
}
Run Code Online (Sandbox Code Playgroud)
据我说,它应该输出:
Hello Pankaj
Hello Kumar
Run Code Online (Sandbox Code Playgroud)
但是javascript引擎输出:
Hello P
Hello a
Hello n
Hello k
Hello a
Hello j
Hello ,
Hello K
Hello u
Hello m
Hello a
Hello r
Run Code Online (Sandbox Code Playgroud)
如果我们将数组名称更改为名称,则根据预期输出:
Hello Pankaj
Hello Kumar
Run Code Online (Sandbox Code Playgroud)
name不是javascript保留的关键字.
你能告诉我这种行为的原因吗?