Javascript原型和原型链

2016/1/10 posted in  JavaScript
function f(){}
f.prototype.foo = "abc";
console.log(f.foo); //undefined

JS中,每当创建一个函数对象f1时,该对象中都会内置一些属性,其中包括prototype__proto__prototype即原型对象,它记录着f1的一些属性和方法。

需要注意的是,prototypef1是不可见的;也就是说f1不会查找prototype中的属性和方法

prototype中定义的属性和方法都是留给自己的后台用的,子类完全可以访问prototype中的属性和方法

function f(){}
f.prototype.foo = "abc";
var obj = new f();
console.log(obj.foo); //abc

obj -> f.prototype -> Object.prototype -> null