在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保留的关键字.
你能告诉我这种行为的原因吗?
名称已附加到您所在的窗口,因此window.name请避免使用它或IIFE按如下方式使用以避免污染全局命名空间
(function(){
var name=["Pankaj","Kumar"] ;
for( var i=0;i<name.length;i++)
{
console.log("Hello "+name[i]);
}
})();Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |