以下注释中的说法相对于PHP等语言的类对象的属性及方法,因为Javascript首先没有“类”这一说法,也不存在静态非静态、属性/方法作用域这一说法。
function obj() { var v = ‘‘;//私有静态属性 var f = function(){};//私有方法 }
------------------------------------
obj.v = ‘‘;//公共静态属性 obj.f = function(){};//公共静态方法
给类本身扩展属性和方法,只能通过类名访问,例如:
obj.v;
obj.f();
--------------------------------------
obj.prototype.v = ‘‘;//公共非静态属性 obj.prototype.f = function(){};//公共非静态方法
给类的原始引用对象扩展属性和方法,只能通过类名.prototype或者实例名访问
obj.prototype.v; obj.prototype.f(); 或 var instance = new obj(); instance.v;
instance.f();