JS原型2

1.一切皆是对象,是说的一种看待问题的思想,并不是指Object所指代的具体。
2.将对象分为普通对象和普通函数(方法)对象以及特殊函数(方法)对象。特殊函数对象指的是Object和Function,null是一个特殊值。
3.所有对象都有二个属性,__proto__(又名隐式原型对象指针或属性),constructor(名构造函数指针或属性),普通函数对象和特殊函数对象还有prototype(又名显示原型对象指针或属性)。
4.所有对象的__proto__指向其构造函数prototype指向的对象。
5.原型链是指由对象的__proto__指向的对象一级一级关联构成的链式结构。
6.Function特殊函数对象的prototype指向一个匿名普通对象funtion(即其函数自身表述的对象),匿名对象的构造函数是Function特殊函数对象,所以Function.__proto__=Function.prototype。
7.Function特殊函数对象抽象所有的方法,是所有方法对象的构造函数,即所有方法对象的constructor都指向它,也意味着所有方法对象的__proto__都指向它的prototype指向的匿名函数对象。
8.Object函数对象是Object对象的构造方法对象。
9.Object特殊函数对象的prototype指向一个Object实例(即其函数自身表述的对象),__proto__指向Function.prototype
10.除Object函数对象之外,所有函数对象的属性prototype指向一个由其函数自身表述的对象(空对象),这个对象的__proto__指向一个Object对象实例,constructor指向原函数对象。
11.原型链最顶级对象是特殊函数对象Object的prototype指向的对象,其__proto__是一个null,表示虚无。undifined除了表示虚无,更侧重于表示暂未存在。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章