js物件導向之公有 私有 靜態屬性

2021-09-24 13:27:01 字數 4465 閱讀 6950

示例:

function

);

1.公有屬性和公有方法

function

user

(name,age)

user.prototype.

getname

=function()

var user =

newuser

('fire子海',26

);console.

log(user.

getname()

);//output:fire子海

2.私有屬性和方法

function

user

(name,age)

alertage

(age)

;//彈出26

}var user =

newuser

('fire子海',26

);

3.靜態屬性和方法

在php中,無需例項化就可以呼叫的方法就叫靜態方法,js也一樣,無需例項化,即用new操作符實化物件,就可呼叫物件的方法和屬性。

function

user()

user.age =26;

//靜態屬性

user.myname =

'fire子海'

;user.

getname

=function()

console.

log(user.

getname()

);//output:fire子海

4.特權方法

function

user

(name,age)

}var user =

newuser

('fire子海',26

);console.

log(user.

getname()

);//output:fire子海

5.靜態類

對於靜態方法和靜態屬性,我們無需像第三步中那樣去建立,如果網友看過我那篇「js如何製作輪播」,就知道可以使用字面量的方式來建立。

var user =

, getname:

function()

}user.

init

('fire子海',26

);console.

log(user.

getname()

);//output:fire子海

6.公有方法的呼叫規則

呼叫公有方法,我們必需先例項化物件

公有方法中通過不this呼叫公有屬性和特權方法,不能使用this呼叫靜態方法和屬性,必需裁通過物件本身呼叫,即物件名。公有方法也不能呼叫私有方法

function

user()

}user.

eat=

function

(food)

user.prototype.

alertage

=function()

user.prototype.

alertdo

=function()

user.prototype.

alerteat

=function

(food)

var user =

newuser()

;user.

alertage()

;//alert:26

user.

alertdo()

;//alert:fire子海學習js

user.

alerteat

('速食麵'

)//alert:晚餐只有速食麵

7.靜態方法的呼叫規則

使用靜態方法時,無需例項化物件,便可以呼叫,物件例項不能呼叫物件的靜態方法,只能呼叫例項自身的靜態屬性和方法

function

user()

user.age =26;

//靜態屬性

user.myname =

'fire子海'

;user.

getname

=function()

var user =

newuser()

;console.

log(user.getname)

;//typeerror: user.getname is not a function

user.supper =

'速食麵'

;user.

eat=

function()

user.

eat();

//晚餐只有速食麵

靜態方法無法呼叫公有屬性、公有方法、私有方法、私有屬性、特權方法和原型屬性

function

user()

}user.prototype.

alertage

=function()

user.prototype.*** =

'男';

//原型屬性

user.

getname

=function()

user.

getage

=function()

user.

getdo

=function()

this.do is not a function

this.alertage is not a function

8.特權方法的呼叫規則

特權方法通過this呼叫公有方法、公有屬性,通過物件本身呼叫靜態方法和屬性,在方法體內直接呼叫私有屬性和私有方法

function

user

(girlfriend)

this

.myname =

'fire子海'

;//公有屬性

this

.age =26;

this.do

=function()

this

.alertage

=function()

this

.alertgirlfriend

=function()

}user.prototype.

changeage

=function()

var user =

newuser

('某某');

user.

alertage()

;//alert:29

user.

alertgirlfriend()

;//alert:我的女朋友某某是美女!

9.私有方法

物件的私有方法和屬性,外部是不可以訪問的,在方法的內部不是能this呼叫物件的公有方法、公有屬性、特權方法的

function

user

(girlfriend)

this.do

=function()

this

.alertage

=function()

this

.alertgirlfriend

=function()

}user.

eat=

function

(supper)

var user =

newuser

('某某');

user.

alertgirlfriend()

;

js 物件導向 公有 私有 靜態屬性和特權方法

js要了解js物件導向,就必需先了解js中什麼是公有方法 特權方法 靜態方法 方法 步驟 1.公有屬性和公有方法 function user name,age user.prototype.getname function var user new user fire子海 26 console.lo...

關於js物件導向的公有屬性與私有屬性的設定方法

先來看一段 function public name,age public.prototype old function var public new public tony 30 public.who public.old 該段 顯示結果為 公有屬性是指在物件外可以訪問到物件內的某個屬性,如果你不...

js 屬性和方法(私有 公有)

function myfun1 這是例項屬性 this.publicvar 這是例項屬性 this.public1 function var newfun1 new myfun1 newfun1.public1 這是私有屬性 alert newfun1.publicvar 這是例項屬性 alert ...