JS进阶-call,apply,bind处理this
本文最后更新于563 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

一.call() (了解)

使用call方法调用函数 同时指定被调用函数中this的值

语法:fun.call(想要指向的对象,参数)

二.apply()

使用apply方法调用函数 同时指定被调用函数中this的值

语法:fun.apply(想要指向的对象,[argsArray])

传入参数必须是一个数组

主要跟数组有关系 比如可以求数组最大值

const max=Math.max.apply(Math,[1,3,2,5])

三.bind()

bind()方法不会调用函数 但能改变函数内部this指向

返回由指定的this值和初始化参数改造的原拷贝函数(新函数)

当我们只想改变this指向 并且不想使用这个函数时 可以使用bind 比如改变定时器内部的this指向

小案例:有一个按钮 点击立即就禁用 2秒后开启

我们想要通过this.disabled控制按钮的禁用与否 而定时器函数本质上由window调用 其this指向window

所以我们就要通过bind改变定时器函数this指向 window — > button (结合前面看这里的this就是button)

Life's a struggle, I'll conquer it.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇