JS中的prototype
程序员文章站
2024-03-15 16:32:36
...
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