js中用name这个变量来定义数组,不能正确输出数组的形式

<scripttype="text/javascript">varname=["aaa","bbb","ccc","ddd"];alert(name[3]);//这里输出... <script type="text/javascript">
var name = ["aaa","bbb","ccc","ddd"];
alert(name[3]);
//这里输出的并不是ddd 而是 逗号
</script>
把name变量名换掉就正常了,求大神指教这是为什么
展开
 我来答
百度网友1146bd0
2015-04-14 · TA获得超过1106个赞
知道大有可为答主
回答量:1253
采纳率:100%
帮助的人:875万
展开全部
正解是因为作用域而不是关键字。
name是window下面的本地变量,类型是字符串,你直接在window域var name并赋值,并不会重新定义name,而是修改了window.name的值。当你在alert里面取值的时候,name的访问器返回的就是字符串"aaa,bbb,ccc,ddd",所以name[3]就是第四个字符(a后面的那个逗号)。
dreamseaKIK
2015-04-14 · TA获得超过670个赞
知道小有建树答主
回答量:463
采纳率:81%
帮助的人:186万
展开全部

name是javascript中windows对象的关键字

你直接在外部使用会默认转成字符串"aaa,bbb,ccc,ddd",所以name[3]就是’,‘

如果你放到某个函数里面调用就不会有这问题

function aaa(){
    var name = ["aaa","bbb","ccc","ddd"];
    alert(name[3]);
}
aaa();

这显示的结果就是ddd

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-14
展开全部
name属于javascript语言中的关键字,你用作变量名会有冲突!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式