方法的定義和呼叫、apply
阿新 • • 發佈:2022-02-12
方法
定義方法
方法就是把函式放在物件的裡面,物件只有兩個東西:屬性和方法
var wsh = {
name: 'wsh',
birth: 2000,
//方法
age: function(){
//今年 - 出生的年
var now = new Date().getFullYear();
return now - this.birth;
}
}
//屬性
wsh.name
//方法,一定要帶()
wsh.age()
this.代表什麼?拆開上面的程式碼看看~
function getAge(){ //今年 - 出生的年 var now = new Date().getFullYear(); return now - this.birth; } var wsh = { name: 'wsh', birth: 2000, age: getAge } //wsh.age() ok //getAge() NaN window
this是無法指向的,是預設指向呼叫它的那個物件;
apply
在js中可以控制this指向!
function getAge(){
//今年 - 出生的年
var now = new Date().getFullYear();
return now - this.birth;
}
var wsh = {
name: 'wsh',
birth: 2000,
age: getAge
}
//wsh.age() ok
getAge.apply(wsh, []); // this,指向了wsh,引數為空