javascript中,name和names作为数组名,数组长度为什么不一样?

enter code here<head>
    <meta http-equiv="Content-Type"content="text/html";charset="utf-8">
    <script type="text/javascript">
        var names = ['张三','李四','王五','赵六'];
        var locals = ['张三','李四','王五','赵六'];

        document.write(names.length+',');
        document.write(locals.length);
    </script>
</head>

运行结果是:4,4

enter code here<head>
    <meta http-equiv="Content-Type"content="text/html";charset="utf-8">
    <script type="text/javascript">
        var name = ['张三','李四','王五','赵六'];
        var local = ['张三','李四','王五','赵六'];

        document.write(name.length+',');
        document.write(local.length);
    </script>
</head>

运行结果是:11,4
为什么会这样?name和names作为数组名到底有什么区别?

这个应该是关键字造成影响了吧
var name = ['张三','李四','王五','赵六'];
for(i=0;i<name.length;i++){
document.writeln(name[i]);
}

你会发现返回的是:
张 三 , 李 四 , 王 五 , 赵 六

逐个分开的

然后你再输出这个看:

document.write(window.name)
你就知道返回的是 张三,李四,王五,赵六

这样你应该知道是关键字造成的了吧

因为正好window对象 有这么一个属性