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