在javascript中定义数组并将数组的名称保留为name
在javascript中执行以下代码时:在javascript中定义数组并将数组的名称保留为name,javascript,arrays,Javascript,Arrays,在javascript中执行以下代码时: var name=["Pankaj","Kumar"] ; for( var i=0;i<name.length;i++) { console.log("Hello "+name[i]); } 但是javascript引擎输出: Hello P Hello a Hello n Hello k Hello a Hello j Hello , Hello K Hello u
var name=["Pankaj","Kumar"] ;
for( var i=0;i<name.length;i++)
{
console.log("Hello "+name[i]);
}
但是javascript引擎输出:
Hello P
Hello a
Hello n
Hello k
Hello a
Hello j
Hello ,
Hello K
Hello u
Hello m
Hello a
Hello r
如果我们将数组的名称更改为名称,那么它将根据预期输出:
Hello Pankaj
Hello Kumar
名称不是javascript保留关键字
您能告诉我这种行为的原因吗。
名称已作为窗口附加到您所在的窗口。名称
因此,请避免使用它或使用IIFE
如下,以避免污染全局命名空间
(函数(){
变量名称=[“Pankaj”,“Kumar”];
for(var i=0;iname
肯定存在于全局范围内。name
不是保留字,但它是全局的:您的解释是错误的。window.name
与html属性无关。iLife是一个比“更改变量名”更具创造性的答案@M.Davis不,window.name
是关于浏览上下文(即浏览器窗口/选项卡)的,与HTML无关。当然,iLife是正确的解决方案。@Bergi我的错,我看错了链接
Hello Pankaj
Hello Kumar