js构造函数的实例成员和静态成员
构造函数是一种特殊的函数,主要用来初始化对象,也就是为对象成员(属性,方法)赋初始值。
Js的构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this 上添加,这两种添加方式所添加的就是静态成员和实例成员。
1.实例成员
实例成员就是在构造函数内部添加的成员,只能由实例化的对象来访问
function Star(uname,age){
this.uname = uname;
this.age = age;
this.sing = function(){
console.log("我会唱歌");
}
}
var ldh = new Star('刘德华',18);//创建实例化对象
console.log(ldh.uname);//用实例化对象ldh访问uname 正确
ldh.sing();//用实例化对象ldh访问sing() 正确
console.log(Star.uname);//用构造函数访问uname 报错
上述,uname age sing就是实例成员,用实例化对象ldh来访问是正确的
用Star构造函数来访问是错误的
2.静态成员
静态成员就是在构造函数本身上添加的成员,只能由构造函数本身来访问
function Star(uname,age){
this.uname = uname;
this.age = age;
this.sing = function(){
console.log("我会唱歌");
}
}
ldh = new Star('刘德华',18);
Star.sex = '男';//创建静态成员
console.log(Star.sex);//通过构造函数本身访问sex 正确
console.log(ldh.sex);//通过实例化对象访问 报错
上述,sex就是静态成员,用实例化对象ldh来访问是错误的
用Star构造函数来访问是错误的