JavaScript——方法

  定义方法

方法就是把函数放在对象的里面,对象只有两个东西:属性和方法

 1    var cl={
 2          name:'cl',
 3          birth: 2001,
 4          //方法
 5          age:function(){
 6              //今年 - 出生的年
 7              var now=new Date().getFullYear();
 8              return now-this.birth;
 9          }
10       }
11       
12       //属性
13       cl.age
14       //方法,一定要带 ()
15       cl.age()

this.代表什么?(拆开上面代码)

 1 function getAge(){
 2              //今年 - 出生的年
 3              var now=new Date().getFullYear();
 4              return now-this.birth;
 5          }
 6          var cl={
 7          name:'cl',
 8          birth: 2001,
 9          age:getAge
10       }
11         //cl.age()    //输出结果与上面一致
12         //getAge()    //输出NaN

this是无法指向的,是默认指向调用它的那个对象!

 

   apply

在js可以控制this指向!

 1 function getAge(){
 2              //今年 - 出生的年
 3              var now=new Date().getFullYear();
 4              return now-this.birth;
 5          }
 6          var cl={
 7          name:'张三',
 8          birth: 2001,
 9          age:getAge
10         }
11          var xiaoming={
12          name:'小明',
13          birth: 2002,
14          age:getAge
15          }
16         //cl.age()    //输出结果与上面一致
17         //getAge()    //输出NaN
18 
19         getAge.apply(cl,[]);   //this, 指向了cl ,参数为空
20         getAge.apply(xiaoming,[]);     //道理一样

 

posted @ 2021-05-10 22:17  cengxuyuan  阅读(89)  评论(0)    收藏  举报