暑假暑假
贫民
贫民
  • 最后登录2017-09-07
  • 发帖数1
阅读:8991回复:2

数组名命名为name时,出现的神奇的事。

楼主#
更多 发布于:2017-03-28 20:29
var name = [1,2,3,4];
console.log(Array.isArray(name)); //false
console.log(typeof name); //string

或者var name=["张三","李四","王五"];
document.write(typeof name);//string.

但是只要改了名字。
var name1 = [1,2,3,4];

console.log(Array.isArray(name1)); //true
console.log(typeof name1); //object



解答:应该是和window.name属性冲突了,在浏览器的全局作用于中本生就有name,是用来 获取/设置窗口的名称,并且默认的是String类型。应该是你设置name = [1,2,3]的时候,浏览器把数组通过toString方法转化为了字符串赋值给了name

最新喜欢:

doubleyongdouble...
cc.
cc.
侠客
侠客
  • 最后登录2018-08-27
  • 发帖数15
沙发#
发布于:2017-03-30 09:05
66666666666666
doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
板凳#
发布于:2017-03-28 23:06
哈哈,分析的不错哦,很有心
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号