博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
揭开js之constructor属性的神秘面纱
阅读量:6712 次
发布时间:2019-06-25

本文共 532 字,大约阅读时间需要 1 分钟。

1.

我们可以利用这个特性来完成下面的事情:

对象类型判断,如

if(f.constructor === F) {// do sth with F}123复制代码

其实 constructor 的出现原本就是用来进行对象类型判断的,但是 constructor 属性易变,不可信赖。我们有一种更加安全可靠的判定方法:instanceof 操作符。下面代码

仍然返回 true

if(f instanceof F) {// do sth with F}复制代码

 2.

你要知道其他对象的constructor属性是从哪里来的,就比如var a = {}。a.constructor === Object,这里面a的constructor属性是从哪里来的,是js默认添加的吗,显然不是,a = {}可以看成是通过a = new Object(),实例化之后a会有一个__proto__属性,他指向他构造函数的prototype,a本身是没有constructor这个属性的,他就会去他构造函数的prototype中去找,而Object的prototype中有constructor这个属性,且指向他本身,所有你才可以看到a.constructor === Object

转载地址:http://cmalo.baihongyu.com/

你可能感兴趣的文章
威胁情报 = 数据 + 人
查看>>
西门子与新创事业合作进军区块链微电网电力交易市场
查看>>
由学习《软件设计重构》所想到的代码review(一)
查看>>
业内人的“针砭时弊”:AI医疗界的3大乱象以及如何评价医学人工智能的成果?...
查看>>
美国科技股遭抛售 独立分析师为苹果鸣不平
查看>>
南通电信推广定制化云服务
查看>>
去芜存精:如何选择最优质的CRM软件研发商?
查看>>
为精简成本 诺基亚将在芬兰本土进行裁员
查看>>
实现数据科学研究结果可复制的十条规则
查看>>
智能家居行业步入死胡同 未来何去何从?
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——19.2 属性选择器
查看>>
意法半导体:加大中国市场投入 重点布局物联网/车联网
查看>>
一场百万级别的电子盛事是如何造就的?
查看>>
测试框架的利好和繁荣:Java单元测试框架之争
查看>>
成功的CIO是怎样炼成的?
查看>>
物联网大数据行业应用分析
查看>>
爱立信移动报告预测:2022年全球5G用户将达5.5亿
查看>>
如何增强虚拟机平台兼容性?
查看>>
中科院成功制备出可穿戴传感器
查看>>
IT经理、IT总监、CIO的区别
查看>>