function f(){}
f.prototype.foo = "abc";
console.log(f.foo); //undefined
在JS中,每当创建一个函数对象f1时,该对象中都会内置一些属性,其中包括prototype和__proto__,prototype即原型对象,它记录着f1的一些属性和方法。
需要注意的是,prototype对f1是不可见的;也就是说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