我正在使用codepen.io,但出于某种原因我的代码没有按预期工作:
var name = ["one",'two','three'];
$('body').append('<p>'+ name[0] + '</p>');
Run Code Online (Sandbox Code Playgroud)
该代码将字母"o"附加到页面.当我将代码切换到:
var person = ["one",'two','three'];
$('body').append('<p>'+ person[0] + '</p>');
Run Code Online (Sandbox Code Playgroud)
"one"被附加到页面.谁知道发生了什么事?
您似乎处于全局范围内,因此在声明name变量时,您将与全局window.name属性发生冲突.
这个属性有是一个字符串,所以每当你分配什么,它被强制转换为字符串.
当["one",'two','three']被强制转换为字符串时,它首先执行一个Array.join,然后最终执行,"one,two,three"分配给name. name[0]给你第一个字符,"o".
使用不同的变量名称,person您不会看到此问题,因为您没有与窗口属性作斗争.
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |