js面向对象的公共、私有、静态属性和方法
方法/步骤
1。公共财产和公共方法
函数用户(名称,年龄){
this.name =名称; / /公共财产
this.age =年龄;
}
user.prototype.getname =(功能){ / /公共方法
返回this.name;
}
无功用户=新用户(海底,26);
console.log(user.getname()); / /输出:海火子
2。私有属性和方法
函数用户(名称,年龄){
var name name
var年龄=年龄;
功能(alertage){ / /私有方法
警戒(年龄);
}
alertage(年龄); / /流行26
}
无功用户=新用户(海底,26);
三.静态特性和方法
在PHP中,可以无实例调用的方法称为静态方法。js也不需要实例化,也就是说,通过新的操作符来实现对象和方法,我们可以调用对象的方法和属性。
函数(用户){ }
user.age = 26; / /静态属性
user.myname =海底;
user.getname(=功能){ / /静态方法
返回this.myname; / /如果这是this.name使用,将返回到用户,所有我的名字,
}
console.log(User.getName()); / /输出:海火子
4。特权方法
函数用户(名称,年龄){
var name name
var年龄=年龄;
(this.getname =功能){ / /权限的方法
返回名称;私有属性和方法不能使用此调用
}
}
无功用户=新用户(海底,26);
console.log(user.getname()); / /输出:海火子
5。静态类
静态的方法和属性,我们不需要创建多达第三步,如果用户看到了我的JS知道如何制作图片旋转木马,可以用文字的方式来创建。
var用户{ {
init:函数(名称,年龄){
this.name =名称;
this.age =年龄;
},
getName:函数(){
返回this.name;
}
}
User.init(海底,26);
console.log(user.getname()); / /输出:海火子
6的调用规则。公共方法
通过调用公共方法,我们首先需要实例化对象。
在公共方法中,调用公共属性和特权方法而不能使用此方法调用静态方法和属性。它必须由对象本身来调用,也就是说对象名。
函数用户(){
this.myname =海底; / /公共财产
this.age = 26;
this.do =函数(){ / /权限的方法
退货。我+学习js的;
}
}
user.eat =功能(食品){
晚餐只不过是+食物;
}
user.prototype.alertage =函数(){
警戒(这个年龄);
}
user.prototype.alertdo =函数(){
警报((此));调用特权方法
}
user.prototype.alerteat =功能(食品){
警报(user.eat(食品)); / /只有通过对象本身通过调用静态方法
/ /警报(this.ear(食品))这个调用会犯一个错误:this.eat不是一个函数
}
用户=新用户();
User.alertAge(); / /警报:26
User.alertDo(); / /警报:火海底学习js
user.alerteat('instant面条) / /警报:晚饭只有方便面
7。静态方法的调用规则
当静态方法时,可以调用,无需实例化对象。对象实例不能调用对象的静态方法,它只能调用实例本身的静态属性和方法。
函数(用户){ }
user.age = 26; / /静态属性
user.myname =海底;
user.getname(=功能){ / /静态方法
返回this.myname;
}
用户=新用户();
console.log(用户。getName); / /列表user.getname不是一个函数
user.supper =方便面;
user.eat =函数(){
返回的晚餐只有+ this.supper;
}
(用户吃);晚餐只吃方便面
静态方法不能调用公共属性、公共方法、私有方法、私有属性、特权方法和原型属性。
函数用户(){
this.myname =海底; / /公共财产
this.age = 26;
this.do =函数(){ / /权限的方法
退货。我+学习js的;
}
}
user.prototype.alertage =(功能){ / /公共方法,也被称为原型的方法
警戒(这个年龄);
}
user.prototype.sex = '男性'; / /原型属性
用户。getName =(功能){ / /静态方法
返回this.myname;
}
user.getage =函数(){
This.alertAge();
}
user.getdo =函数(){
返回this.do();
}
/ / console.log(User.getName()) / /未定义
/ / console.log(User.getDo()); / /列表this.do不是一个函数
/ / console.log(User.getAge()) / /列表this.alertage不是一个函数
8的调用规则。特权方法
特权方法通过这个调用公共方法和公共属性,并通过对象本身调用静态方法和属性,并直接调用方法主体中的私有属性和私有方法。
函数用户(女朋友){
女朋友=女朋友;
功能getgirlfriend(){
我女朋友+女朋友+是个美丽的女人!;
}
this.myname =海底; / /公共财产
this.age = 26;
this.do =函数(){ / /权限的方法
退货。我+学习js的;
}
this.alertage =函数(){
(这个。changeage); / /特权方法调用的公共方法
警戒(这个年龄);
}
this.alertgirlfriend =函数(){
警报((getgirlfriend) / /);调用私有方法
}
}
user.prototype.changeage =函数(){
this.age = 29;
}
无功用户=新用户('xx);
User.alertAge(); / /警报:29
User.alertGirlFriend(); / /警报:我的女朋友,所以,是一个美丽的女人!
9。私有方法
不能访问外部对象的私有方法和属性。在方法内部,它们不是可以调用的公共方法、公共属性和特权。
函数用户(女朋友){
女朋友=女朋友;
this.myname =海底; / /公共财产
this.age = 26;
功能getgirlfriend(){
/ / / / this.myname;这在这个时间点的窗口对象,对象不是用户,
/ / this.myname =海底,这一点对getgirfriend对象。
/ /如果被这种方法不存在getgirfriend,属性,这将是一个窗口对象,只有这个调用的方法和属性在getgirlfriend,这将被getgirlfriend;
警报(User.eat(‘泡沫脸')); / /警报:晚饭只有方便面
}
this.do =函数(){ / /权限的方法
退货。我+学习js的;
}
this.alertage =函数(){
(这个。changeage); / /特权方法调用的公共方法
警戒(这个年龄);
}
this.alertgirlfriend =函数(){
(getgirlfriend / /);调用私有方法
}
}
user.eat =功能(晚饭){
晚餐只不过是+晚餐;
}
无功用户=新用户('xx);
User.alertGirlFriend();
以上是本文的全部内容,希望大家能喜欢。