发新贴  快速回复

代码解析的问题?

  非洲小白狼
2017-11-13 22:19

var arr=[];

var name={};

function aa(){

arr.push(1)

name.str=123

console.log(name,name.str,arr)

};

aa();

为什么这个直接在代码中运行,再不家window.onload的情况下执行aa这个函数后,name打印出来这个属性还是个undefined,感觉好像是name还没有赋值成对象的情况下就去添加属性了,为什么会这样呢?

2017年2月8日

这个问题其实不是什么代码写错了。是name这个名字已经被系统用了,如果把name换成其它名字就可以了。所以,平时对那些关键字,保留字,要熟悉。

JavaScript 对象、属性和方法

您也应该避免使用 JavaScript 内置的对象、属性和方法的名称作为 Javascript 的变量或函数名:

Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf
2017-11-13 23:22  回复本帖
 
非洲小白狼

2017年2月8日 2017-11-13 23:22发表的内容:

这个问题其实不是什么代码写错了。是name这个名字已经被系统用了,如果把name换成其它名字就可以了。所以,平时对那些关键字,保留字,要熟悉。

JavaScript 对象、属性和方法

您也应该避免使用 JavaScript 内置的对象、属性和方法的名称作为 Javascript 的变量或函数名:

Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf
原来name也是关键字,了解了谢谢老师!
2017-11-14 13:19  回复本帖
登录 后才可以发表回复