评论

test

test

toString()可以检测每个对象的类型
为了每个对象都能通过 Object.prototype.toString() 来检测,需要以 Function.prototype.call()或者 Function.prototype.apply() 的形式来调用,传递要检查的对象作为第一个参数。
所以有时可以看到这样的用法
Object.prototype.toString.call(err).indexOf(‘Error’) > -1

关于typeof 与instanceof的区别
typeof是一个一元运算符
if(a) //不推荐,万一a没有定义就会报错
if(typeof a ==‘undefined’)//这样就不会报错
一般有如下的返回类型 “number”、“string”、“boolean”、“object”、“function” 和 “undefined”。
不足之处为在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。接下来就需要instanceof出场
语法object instanceof constuctor
描述:instanceof运算符用来检测constructor.prototype是否存在于参数object的原型链上.举个例子
function test(){}
var a=new test();
a instanceof test;//返回为true

最后一次编辑于  10-22  
点赞 0
收藏
评论

1 个评论

  • jienhui
    jienhui
    10-22
    test
    10-22
    赞同
    回复