JS原型和原型链

JavaScript 中一切皆对象。对象中,分为普通对象和函数对象。javascript

function f1(){};
 var f2 = function(){};
 var f3 = new Function('str','console.log(str)');

 var o3 = new f1();
 var o1 = {};
 var o2 =new Object();

 console.log(typeof Object); //function
 console.log(typeof Function); //function
 console.log(typeof o1); //object
 console.log(typeof o2); //object
 console.log(typeof o3); //object
 console.log(typeof f1); //function
 console.log(typeof f2); //function
 console.log(typeof f3); //function

又上可知,凡是经过 new Function() 建立的对象都是函数对象,其余的都是普通对象。java

原型对象
   在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预约义的属性。其中函数对象的一个属性就是原型对象 prototype。注:普通对象没有prototype,但有__proto__属性。函数