日期:2014-05-16  浏览次数:20351 次

js的instanceof和typeof

? ? Js中的instanceof和typeof两个经常会搞混,现在就来分析下:

? ? 1.?instanceof

? ? 返回一个Boolean值,指出对象是否是特定类的一个实例。

?

var s = new String("abc");
console.log(s instanceof String);   //true

var s = "abc";
console.log(s instanceof String);   //false

?

? ? 2.typeof

? ? 返回一个字符串,这个字符串只能是以下6种之一"number," "string," "boolean," "object," "function," "undefined."?它是一个返回表达式的数据类型的操作符。

var s = new String("abc");
console.log(typeof s == "string"); //false

var s = "abc";
console.log(typeof s == "string");  //true
? ? 总结:在对象之间比较时,使用instanceof;在基本类型之间比较时使用typeof

?