前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS原型,a和b是不是失散多年的兄弟?

JS原型,a和b是不是失散多年的兄弟?

作者头像
web前端教室
发布2018-02-07 11:59:59
7240
发布2018-02-07 11:59:59
举报
文章被收录于专栏:web前端教室web前端教室

面试题这种东西真的是反人类的设计,我觉得它的最大的作用就是用来打击我的信心。每当我觉得自己js水平还可以,的时候,它就会在不经意间跳出来,给我一耳光。例如这个,

代码语言:js
复制
var F = function(){};
Object.prototype.a = function(){};
Function.prototype.b = function(){};
var f = new F();
// f能得到a,b吗?啥原因?

当然了,这种东西也是网上瞎逛来的。最近在讲课,所以技术类的东西会多写一些。

回到这个题,我一看题目就明白,这是个js原型链的东西,于是我老神入定的脑补了几分钟,得出结论“f可以得到a,b”,呵呵,

然后打开F12控制台,运行了一下,然后我挨了一耳光,“f得不到b”

万事皆有因缘,f和b为何无缘?

简单的说,

代码语言:js
复制
f.a === Object.prototype.a   //=> true
f.b === Function.prototype.b  //=> false

就是“原型链上找不到b”,

这个题的关键词有二个

1、prototype

2、__proto__

基础概念,

1、函数有prototype属性;

2、对象有__proto__;

在理解了上面的知识点的情况下,把你所能查到的所有的关于“JS原型链”的文章都看一遍,且保证看懂80%,那么上面那个题你就明白啦。

具体的js原型链的东西我这里就不写了,相关的文章资料已经很多。

想真正完全彻底的学会js,真的不是件容易的事情。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档