JavaScript原型机制与底层实现
js 原型的理解,算是多人卡壳的点。搞不清__proto__
和prototype
的区别,写继承老是绕晕?你不是一个人。我自己当年就是被原型链折腾得够呛。
JavaScript 的原型继承,说白了就是“对象找属性”的那一套逻辑。比如你访问一个对象上没定义的属性,它就会去它的原型上找,找不到再往上走,一直到null
为止。这个链式查找,就是所谓的“原型链”。
要真想搞明白,推荐你看看这几篇文章:《JavaScript 原型继承机制》和《我所理解的从原型到原型链》。写得挺清楚,配图也直观,看完基本上思路就通了。
还有篇叫《原型-JS:面向对象基础》的文章,也不错,适合复习用。适合那种“看过但忘了”的状态,重新捋一遍挺有用。
如果你是刚接触原型概念,建议搭配控制台调试,自己写写对象,打印一下Object.getPrototypeOf
的结果,效果会比光看文章强多了。比如:
const obj = {};
console.log(Object.getPrototypeOf(obj));
嗯,还有一点,别被名字吓到,什么“原型链”、“继承机制”,其实逻辑就一套东西。多写,多画,多观察,慢慢就顺了。
如果你之前对原型总是一知半解,可以从这几篇文章开始,代码加图解,比较好消化。
3.46MB
文件大小:
评论区