instanceof 操作符用于判断前者是否为后者的实例

原创 1244321641 随笔 总结日志 81阅读 2018-01-16 09:07:12 举报

1.instanceof运算符希望左操作数是一个对象,右操作数表示对象的类(初始化对象的构造函数)。如果左侧的对象是右侧对象的实例,返回true,否则返回false。
例如:计算o instanceof f
首先计算f.prototype,然后在原型链中查找o,找到返回true

2.===严格相等运算符:首先计算其操作数的值,然后比较这两个值,比较过程中没有任何类型转换

3.==相等运算符:如果两个操作数不是同一类型,那么会尝试进行一些类型转换,然后进行比较
(1)尽管null和undefined是不同的,但它们都表示“值的空缺”,两者往往可以互换,因此==运算符认为两者是相等的
(2)NaN表示非数字值,特殊之处:它和任何值都不相等,包括自身。判断NaN的方法:x!=x返回true

尽管instanceof运算符的右操作数是构造函数,但计算过程实际上是检测了对象的继承关系,而不是检测创建对象的构造函数。我的理解是null就是object类型,他们不是继承关系。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复