当前位置: 首页 > Web前端 > JavaScript

JS原型链和Objective-C内存布局说不出的秘密

时间:2023-03-27 12:09:21 JavaScript

这篇文章不是新知识的探索,文章内容不多,只是看看串联起来的两个不同领域的知识,或者设计语言想法得到证实,我感到高兴并记录下来。假期看了一本关于JS的书。很多地方都是已知知识。但是看到两个感觉和现有知识体系相关的地方还是挺有意思的。拍张照片记录一下,Javascript借鉴了Self语言中原型的继承。可能比较陌生。什么是“自我”?看JS的表现:假设从对象O中查询属性X,如果O没有自己的属性X,则从O的原型对象中查询属性X,如果原型对象没有自己的属性X自己的属性叫X,但是它有自己的原型,那么继续查询这个原型的原型。这个过程会一直持续到找到属性X或者找到一个原型为null的对象。该对象创建一个链或链表,用于通过其原型属性继承属性。与OC对象内存布局相比,属性或方法访问例程是一致的。事实上,Self语言是从Smalltalk派生出来的,Smalltalk是Objective-C的参考语言。访问JS对象的属性和方法(如果没有找到,就一直从原型链往回走,直到找到或者找到元类对象null),这个特性和OC是完全一样的。有2个中文PDF可供阅读有关自我语言的内容。SELF:简单的力量,克隆人的逆袭