JS高级---apply和call都可以改变this的指向

apply和call都可以改变this的指向

 

函数的调用,改变this的指向

本来f1函数是window对象的, 但是传入obj之后, f1函数此时就是obj对象的

 

    //apply和call都可以改变this的指向
    //函数的调用,改变this的指向
    function f1(x, y) {
      console.log((x + y) + ":===>" + this);
      return "这是函数的返回值";
    }
    //apply和call调用
    var r1 = f1.apply(null, [1, 2]);
    console.log(r1);
    var r2 = f1.call(null, 1, 2);
    console.log(r2);
    console.log("=============>");
    //改变this的指向
    var obj = {
      sex: "男"
    };
    //本来f1函数是window对象的,但是传入obj之后,f1函数此时就是obj对象的
    var r3 = f1.apply(obj, [1, 2]);
    console.log(r3); //
    var r4 = f1.call(obj, 1, 2);
    console.log(r4);
JS高级---apply和call都可以改变this的指向

 

 

JS高级---apply和call都可以改变this的指向

JS高级---apply和call都可以改变this的指向

上一篇:Application Update


下一篇:阶段一-02.分类,推荐,搜索,评价,购物车开发-第1章 首页轮播图+分类功能实现1-5 分类实现 - 自定义mapper实现懒加载子分类展示