最赞回答 / zf_liu
* == 用于简单类型比较的话,会尝试转换类型。== 用于复杂类型(例如数组), 是引用比较var a = new Array(1,2);var b = new Array(1,2);console.log(a== b); // false* 关于NaN,可以理解成一个Number 的对象,你每次调用,都会重新创建一个对象所以NaN每次都是不同的对象
2016-05-31
最新回答 / weibo_宝慕林349606
Person.prototype.constructor指向Person。实例查找属性或方法会先从构造函数开始查,所以如果Person有一个name属性且Person.prototype也有一个name属性,通过实例.name返回的是Person上的name属性function a(){this.name="aaa"}//undefineda.prototype.name="ccc"//"ccc"var b=new a()//undefinedb.name//"aaa"a.prototype.name//...
2016-05-18
最赞回答 / llo蛋蛋oll
var info = Object.getOwnPropertyDescriptor(Object, 'prototype');console.log(info);for (prop in info) { console.log(prop + ':' + info[prop]);}
2016-05-16
最赞回答 / 不再热情似火
1. var str = "string"; 这个str是基本类型string,2. str.t = 5 基本类型怎么会有属性和方法呢? 因为此时js引擎中会自动创建一个对象,即 var str = new String('string');然后再调用这个对象的方法和属性,你的 str.t = 5 语句确实没问题,但是str (这里我叫做0号)这个对象,仅仅在代码执行的一瞬间被创建,然后马上被销毁,3. alert(str.t) //undefined 此时的str.t 又会创建一个新的str对象(这个...
2016-05-15