它返回值是一个字符串,该字符串阐明运算数的类型
console.log(typeof (123));//typeof(123)返回"number" console.log(typeof ("123"));//typeof("123")返回"string"var param1 = "string";var param2 = new Object();var param3 = 10;console.log(typeof(param1)+"\n"+typeof(param2)+"\n"+typeof(param3)); // string object number
instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
如 :var a=new Array();alert(a instanceof Array); // true,同时 alert(a instanceof Object) //也会返回 true;这是因为 Array 是 object 的子类。再如:function test(){};var a=new test();alert(a instanceof test) 会返回truealert(a==b); //flase
另外,更重的一点是 instanceof 能够在继承关系中用来判断一个实例是否属于它的父类型。
例如:
function Foo(){} Foo.prototype = new Aoo();//JavaScript 原型继承 var foo = new Foo(); console.log(foo instanceof Foo)//true console.log(foo instanceof Aoo)//true
下面的代码中是判断了一层继承关系中的父类,在多层继承关系中,instanceof 运算符同样实用。
又如:
console.log(Object instanceof Object);//true console.log(Function instanceof Function);//true console.log(Number instanceof Number);//false console.log(String instanceof String);//false console.log(Function instanceof Object);//true console.log(Foo instanceof Function);//true console.log(Foo instanceof Foo);//false