Mark24
记录灵感、技术、思考
JavaScript原型链额外思考
尝试理解JS里面不符合直觉的根本原因。
JS是一个简化设计,比如 没有块作用域,于是简单通过变量提升把所有变量都打通。
JS里面没有class,并且我们知道function是一个最基础结构,新建一个实例就用 new function(){}
来完成。
没有复杂的继承结构,使用原型链,相当于单继承,单继承也是后来ruby的实现。单继承相对实现简单。
JS完全是一种简化的设计。只不过现在JS逐渐承担重任,兼容性需要JS保留原始的工作方式,JS也携带了新的工作方式,两套工作方式并存,这就是JS看起来复杂的原因。