JS中的prototype

JS面向对象中的prototype

JavaScript为每一个类型(Type)都提供了一个prototype属性,将这个属性指向一个对象,这个对象就成为了这个类型的“原型”,这意味着由这个类型所创建的所有对象都具有这个原型的特性。另外,JavaScript的对象是动态的,原型也不例外,给prototype增加或者减少属性,将改变这个类型的原型,这种改变将直接作用到由这个原型创建的所有对象上,例如:

//把一个方法变成一个对象,为对象创建方法和属性 
var Name = function () { 
//通过prototype给一个对象创建方法 
Name.prototype.Add = function (num, title) { 

//也可以直接用this加方法名为对象创建方法和上面的等价 
this.Way = function (str) { 

//为对象添加属性值 
Name.prototype.xing = "123"; 

//定义静态属性和方法

Name.shi = "static";

Name.Addd = function (num, title) {}

//方法也可以这样声明 
function Name1() { 
Name1.prototype.add = function () { } 
this.way = function () { } 
//静态的全局变量,在方法外可以调用;

//静态的局部变量和方法仅限于方法内使用;

//实例对象不能调用静态的方法 
//实例对象不能使用prototype

猜你喜欢

转载自r8711274r.iteye.com/blog/2388590