学习JavaScript语言需要有一些思想补丁,这门语言设计时为了追求开发速度所以不是特别严谨,比如定义var变量会做变量提升,在变量定义前打印也不会报错,这在其他语言里是不允许的。定义function A时又会自动创建A.prototype对象。只要通过new关键字调用,任何函数都可以作为构造函数。这些无形发生的过程按照其他设计严谨的语言逻辑去理解是不行的,需要加以防范。
学习JavaScript语言需要有一些思想补丁,这门语言设计时为了追求开发速度所以不是特别严谨,比如定义var变量会做变量提升,在变量定义前打印也不会报错,这在其他语言里是不允许的。定义function A时又会自动创建A.prototype对象。只要通过new关键字调用,任何函数都可以作为构造函数。这些无形发生的过程按照其他设计严谨的语言逻辑去理解是不行的,需要加以防范。