码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2020-01-08 14:19:59      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:obj   family   ret   mil   image   round   this   window   com   

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的指向

标签:obj   family   ret   mil   image   round   this   window   com   

原文地址:https://www.cnblogs.com/jane-panyiyun/p/12166072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!