前言
为类创建静态成员,是面向对象语言的特点,js是可以通过prototype来实现这一特点
01
具体代码如下所示
// 用function 模拟一个类出来,同时也作为构造函数
function MyClass...() {
this.name = "https://coder.itclan.cn"; // 类的成员变量name
this.myStaticFun = myStaticFun; //...");
}
var obj = new MyClass(); // 使用new实例化一个类
obj.myStaticFun(); // https://coder.itclan.cn
当私有属性与构造器函数添加的属性和方法名相同时...,直接就会返回,如果没有,就会沿着原型链,去prototype身上去找
如果还没有找到,会继续往上找,也就是Object顶级对象,要是还没有,那就会返回undefined
分析
prototype是js...为每一个对象内置的隐藏属性,它会随着这个对象一直存在,当构造函数内的私有属性和私有方法与构造器函数原型下的属性和方法同名时
私有属性和方法要优先于共有属性
在上面的示例中,在构造器函数内定义了一个私有属性和方法