美文网首页
typeof、instanceof、constructor区别

typeof、instanceof、constructor区别

作者: Yoyo_UoU | 来源:发表于2017-12-05 11:27 被阅读0次

typeof 判断基本变量,返回类型,不能检测对象

console.log(typeof(1));                //number
console.log(typeof("abc"));         //string

instanceof 返回布尔值

instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上

function C(){} 
var o = new C();
o instanceof C;   //true

要是不想那么麻烦还要区分是否用 typeof 还是instanceof 来确认它的类型,可以用constructor 属性;

constructor 属性返回对创建此对象的函数引用。

"John".constructor                 // 返回函数 String()  { [native code] }
(3.14).constructor                 // 返回函数 Number()  { [native code] }
false.constructor                  // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor              // 返回函数 Array()   { [native code] }
{name:'John', age:34}.constructor  // 返回函数 Object()  { [native code] }
new Date().constructor             // 返回函数 Date()    { [native code] }

相关文章

网友评论

      本文标题:typeof、instanceof、constructor区别

      本文链接:https://www.haomeiwen.com/subject/esvqixtx.html