前言
为类创建静态成员,是面向对象语言的特点,js是可以通过prototype来实现这一特点
01
具体代码如下所示
// 用function 模拟一个类出来,同时也作为构造函数
function MyClass...类的成员函数,把私有函数放到外头,避免重复创建
}
// 把私有函数抽离出来
function myStaticFun() {
return this.name;
}
// 为MyClass...的prototype定义一个变量
MyClass.prototype.name = "itclanCoder";
// 为MyClass的ptototype定义一个函数,它的所有实例对象都有了
MyClass.prototype.myStaticFun...= function() {
alert("这是一个公有属性的方法");
}
var obj = new MyClass(); // 使用new实例化一个类
obj.myStaticFun(...私有属性和方法要优先于共有属性
在上面的示例中,在构造器函数内定义了一个私有属性和方法,但同时也创建定义了共有属性和方法,定义在MyClass上,通过new语句实例化后,对象就有prototype的所有属性