javaScript11-方法

定义方法

  • 方法就是把函数放在对象的里面

  • 对象只有两个东西:属性和方法

<script>

  var kaka={
    name: 'kaka',
    birth: 2020,
    age: function(){
      let now_year=new Date().getFullYear();
      return now_year-this.birth;     
    }
  };

//属性:kaka.name
//方法:kaka.age() 记得带括号

</script>


把上面的代码拆开如下

<script>

  var getAge=function(){
    let now_year=new Date().getFullYear();
    return now_year-this.birth;
  }

  var kaka={
    name: 'kaka',
    birth: 2020,
    age: getAge
  };
  
  //kaka.age()注意此处任然要加括号

</script>

this是无法指向的,是指默认调用他的哪个对象

apply函数

在JS中可以控制this的指向

<script>

  var getAge=function(){
    let now_year=new Date().getFullYear();
    return now_year-this.birth;
  }

  var kaka={
    name: 'kaka',
    birth: 2020,
    age: getAge
  };

  getAge.apply(kaka,[]);
  //apply第一个参数为指向的对象,第二个参数为getAge函数的参数,此处getAge()没有参数,故[]代表空参

</script>

posted @ 2021-11-11 14:00  卡卡发  阅读(59)  评论(0)    收藏  举报