JavaScript原型链额外思考

尝试理解JS里面不符合直觉的根本原因。

JS是一个简化设计,比如 没有块作用域,于是简单通过变量提升把所有变量都打通。

JS里面没有class,并且我们知道function是一个最基础结构,新建一个实例就用 new function(){} 来完成。

没有复杂的继承结构,使用原型链,相当于单继承,单继承也是后来ruby的实现。单继承相对实现简单。

JS完全是一种简化的设计。只不过现在JS逐渐承担重任,兼容性需要JS保留原始的工作方式,JS也携带了新的工作方式,两套工作方式并存,这就是JS看起来复杂的原因。

Mark24

Everything can Mix.