标签类目:instanceof

javascript对象构造函数检测instanceof

instanceof判定一个对象是否为某一个类的实例。

var num=1 === var num=Number(1)

数字1是直接调用Number函数构造出来的。

var num=1 !== var num=new Number(1)//false

var num=1 == var num=new Number(1)//true

var num=new Number(15)这一步new 创建一个对象 这个对象在调用 Object()函数返回一个对象,这个对象在调用Number函数,为Number函数传递一个参数15。之后把这个对象赋值为15,之后在把num变量指向这个对象,
———————
var num=new Number(15);
alert(num instanceof Number); //true
alert(num instanceof Object); //true
所以mymickey理解的是这个num指向的对象调用了两个函数对象一个是Object()函数,之后才是Nunber()函数;

alert(num.constructor)返回的是

function Number() {
[native code]
}

mymickey想:开始第一次调用Object函数的时候num.constructo应该是Object()才对,但是最后还是调用了一次Number();所以结果才会是:function Number() {[native code]}。

返回顶部