下面内容是查询网上关于原型资料之后的总结,图片也是网上截取,想要学习更详细的原型与闭包只是给大家推荐已连接:http://www.cnblogs.com/wangfupeng1988/p/3977924.html
- 明确几个名名词:Object、Array、Function
- 了解几个答案:
//typeof 返回的结果都是小写字母组成的“字符串”
var arr = new Array();
typeof arr // object
var fn = function(){}
var fnc = new fn();
typeof fn //function;
typeof fnc //object
typeof Object //function
typeof Array //function
- 记住几个概念
每个function都有一个prototype属性(prototype是一个对象)
每一个对象都有一个__proto__属性,这个属性指向创建自己的function.prototype
*熟悉几条线
function Foo(){}
Foo.__proto__ = Function.prototype;
Object.__proto__ = Function.prototype;
Function.__proto__ = Function.prototype;
Function.prototype.__proto__ = Object.prototype;
var foo = new Foo();
foo.__proto__ = Foo.prototype;
Foo.prototype.__proto__ = Object.prototype;
Object.prototype.__proto__ = null;
- 拓展几中类型的创建
obj的两种创建方式:1、new Object() 2、new Foo();
Object:通过Fuction创建(eg:typeof Object == "function")
Foo:通过Function创建(eg:typeof Foo == "function")
Function:通过Function自身创建(eg:typeof Function == "function")
- Object
Object是一个特殊的function,由Function创建,衍生出一些系统默认的对象