方法的定义和调用、apply
方法
定义方法
方法就是把函数放在对象的里面,对象只有两个东西:属性和方法
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,参数为空