简单地理解原型和原型链
// 原型是一个对象,是一个__proto__的对象
//原型链就是一种链是的结构,通过原型对象的层层调用
//本例子从打印往上看;找毛衣的顺序:个人-->商店(可惜没有,指导到超市)-->超市(超市挂载了“毛衣”)
function Supermarket(){};
Supermarket.prototype.product = "毛衣";
//person.__proto__ === Supermarket.prototype
function Shop(){};
Shop.prototype = new Supermarket();
// 默认person.__proto__ === Shop.prototype
var person = new Shop();
console.log(person.product);//通过原型链一层一层往上找
面试的一个简单例子
// 运用上面的知识轻易解决
// 问:F的原型上有a,方法吗?
var F = function(){};
Object.prototype.a = function(){};//因为原型是一个对象,所以只有a方法
Function.prototype.b = function(){};//这是一个函数所以没有挂载到F上
var f = new F();
console.log(f);