修改一个函数中的this

本文介绍了在JavaScript中如何修改函数的this指向,包括call()、apply()和bind()的使用场景、方法及原理。call()和apply()用于临时更换函数中的this,而bind()则创建一个新函数,使this永久替换为指定对象。
摘要由CSDN通过智能技术生成

什么是修改一个函数中的this?

        在调用一个函数时,临时更换一次这个函数的this为指定的对象;
        函数本次调用后,this恢复原样。

call()

使用场景:

        只要一个函数执行时,其中的this不是自己想要的,就可以随意换!

使用方法:

        要调用的函数.call( 替换this的对象,实参值列表 )   jisuanqi.call(LiLei,10000,2000)

原理: 要调用的函数.call()做了三件事情,

        call()的本意就是调用函数执行的意思 ,所以函数就会执行一次;

        call()用自己的第一个实参对象,代替函数执行中的this;

        call()将从自己第二个实参值向后的所有实参值列表,传给正在调用函数的所有形参

//自定义一个计算器  可以计算某个员工的工资
//                 底薪   奖金
function jisuanqi( base, bouns){
    console.log(`${this.sanme}的工资为${base+bouns}`)
}
//假设有两个员工想计算自己的工资
var LiLei={sanme:"Li Lei"};
var Zhan
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值