指定this调用函数


   function f1(a, b){
        console.log(a + b);
        console.log(this);
    }

    f1(10, 20);  

函数作用方法被调用时,this代表调用当前函数的对象

默认是window

var people =new Object();

函数本身也是对象,也可以调用自身的方法

call方法:指定this调用当前的函数,第一个参数是指定的this是谁,后两个参数是调用函数需要传递的;

f1.call(people, 2, 3);

apply方法和call功能一模一样,只是后面的传参方式不同

f1.apply(people, [2, 3]);

bind方法作用是返回一个新函数,这个新函数的功能和原来函数相同,但是该函数执行时候的this是bind绑定的对象

var f2 =f1.bind("绑定的this");
    function People(name, age) {
        // people对象可以调用的
        this.work = function () {

        }
    }
    // window
    this.work = function () {

    }
    var f3 = this.work.bind(people);
  • this默认在html文件中指的是window

  • this在单独的js文件中this指的是window对象

  • 当对象调用方法的时候在方法内部的this指的是当前调用者

  • 可以在开发过程中通过使用call,apply,bind方法改变this的指针指向,但是一定要清楚每一次改变之后的指针位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值