已采纳回答 / xtfzp
构造函数的this指向的是在构造函数执行时新建的那个对象,这个新建的对象的原型是Foo.prototype,所以this.y设置的是新建的这个对象的自有属性,所以你说的function Foo(){this.y=2} var obj3=new Foo();obj3.hasOwnProperty('y');结果是false,是不可能的
2015-10-10
已采纳回答 / Jaydon_
我觉得上面的那个朋友说的很不清楚,那么我告诉一下吧,希望可以帮助你理解,一起进步我举一个小例子来帮助你理解一下var obj={x:1,y:2,z:3};Object.defineProperty(obj,"f",{emuerable:false,value:4});当我们执行for(var i in object)console.log(obj[i]);/输出1,2,3Object.keys(object);//输入1,2,3相信你看了上面的一些已经有了一些理解,你也可以再看一下下面的小知识点for.....
2015-10-10