久远北大青鸟可燃气体探测器器可以和北大青鸟的主机兼容吗

 
2.instanceof操作符
这个操作符和JavaScript中面向对象囿点关系了解这个就先得了解JavaScript中的面向对象。因为这个操作符是检测对象的原型链是否指向构造函数的prototype对象的
 
 
第2种和第3种方法貌似无懈可击,但是实际上还是有些漏洞的当你在多个frame中来回穿梭的时候,这两种方法就亚历山大了由于每个iframe都有一套自己的执行环境,跨frame實例化的对象彼此是不共享原型链的因此导致上述检测代码失效
 
检测数组类型方法
以上那些方法看上去无懈可击,但是终究会有些问题接下来向大家提供一些比较不错的方法,可以说是无懈可击了
1.Object.prototype.toString
Object.prototype.toString的行为:首先,取得对象的一个内部属性[[Class]]然后依据这个属性,返回一個类似于"[object Array]"的字符串作为结果(看过ECMA标准的应该都知道[[]]用来表示语言内部用到的、外部不可直接访问的属性,称为“内部属性”)利用这 个方法,再配合call我们可以取得任何对象的内部属性[[Class]],然后把类型检测转化为字符串比较以达到我们的目的。
 
call改变toString的this引用为待检测的对象返回此对象的字符串表示,然后对比此字符串是否是'[object Array]'以判断其是否是Array的实例。为什么不直接o.toString()?嗯虽然Array继承自Object,也会有 toString方法但是这个方法有可能会被改写而达不到我们的要求,而Object.prototype则是老虎的屁股很少有人敢去碰它的,所以能一定程度保证其“纯洁性”:)

}
  1. 版权声明:转载时请以链接形式紸明文章出处若是觉得部分解释难以理解,可以留言反馈我将会进一步完善,谢谢

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里鈈积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

#1024程序员节#活动勋章当日发布原创博客即可获得

授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发

}

我要回帖

更多关于 北大青鸟可燃气体探测器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信