JavaScript:)this指向

this

  • 每一个函数内部都有一个关键字this
  • 函数内部的this只和函数的调用方式有关系,和函数的定义方式没关系
  • 函数内部的this指向谁,取决于函数的调用方式
    全局定义的函数调用this=>window
    定时器的处理函数,this=>window
    事件处理函数,this=>事件源
    自调用函数,this=>window

忽略函数本身的this指向,转而指向其他

call

  • call方法是附加在函数调用后面使用,忽略本身this指向
  • 语法:函数名.call(要改变的this指向,要给函数传递的参数1,2,…)
  • 立即执行函数

apply

  • 语法:函数名.apply(要改变的this指向,[要给函数传递的参数1,2,…])
  • 使用apply时,会立即执行函数

bind

  • 不会立即执行函数,而是返回一个已经改变了this指向的函数
  • 语法:var newFunction=函数名.bind(要改变的this指向);newFunction(传递函数)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值