三分钟带你彻底搞懂`new`关键字
七月 08, 2021
本文共计:
461 字
预计阅读时长:
2分钟
一年前的我对于一道面试题,虽然最后知道了答案,但是一直没有机会将它讲的通透。
借此机会,(当一面面试官,面试候选人,但是有好多候选人都不是很清晰),首先,了解这个知识点,你会收获什么?
new的实现原理- 构造函数的注意事项
看懂本章的前提:你要理解原型链
析题(拆解步骤)
new做了什么事:
- 绑定
this的经典操作 - 拥有自己的构造函数
- 当返回非引用类型的时候,
new返回的是构造函数的prototype.引用类型,返回构造函数的执行结果(这里其实与java的执行结果有所区别) - 我们的构造函数名都有一个约定俗成的规范:
大驼峰,例如:Person……
直接上代码!
1 | function myNew() { |
验证返回值为非引用类型:
1 |
|
打印
1 | Test { name: 'name' } |
验证返回值为引用类型:
1 | function Test(name, age) { |
打印
1 | { age: 14 } |
今天,你学废了吗?
查看评论