Javascript语言特性学习笔记(二)

本文摘自 勾三股四 更早时期的 不老歌 博客。


之前写过一篇Javascript的学习笔记,貌似过去很久了……

今天是第二篇。
-----------------------------------------------------------------

Javascript中的非函数式语言特性

1. Javascript中提供的变量作用域共有三种:表达式(直接量)、语句、函数(局部变量)和全局(全局变量)
2. typeof null == 'Object';
3. 对象只有“构造于某个原型”,并不存在“持有某个原型”,所以构造器(实质为一个函数)的原型是一个实例(对象),而实例(实质为一个对象)的构造器是一个函数(构造器)
4. 函数只有在需要引用到原型时,才具有构造器的特性。而且函数的原型总是一个Object()构造器的实例。不过该实例创建后,constructor属性总先被赋值为当前函数,即:MyObj.prototype.constructor == MyObj
5. 多个原型和多个构造器之间交替相联系,形成了一条原型链
6. 万物皆为prototype链 + props链,空对象{}可理解为其prototype链为Object.prototype,props链为空
7. 一般Javascript的对象(构造器)组成为:内置对象(Number/String/.../Math/Global/Arguments)、引擎扩展对象(ActiveXObject/COM/XML/...)、宿主对象(window/navigator/image/...)

写得有点粗略了,有些东西还是挺晦涩的,没有写出具体的例子……
暂总结如下,下一次是函数式语言特性的部分