this指向


call、appy、bind的作用和区别
作用:
都可以改变函数内部的this指向。
区别点:
- call 和 apply 会调用函数,并且改变函数内部this指向。
- call 和 apply 传递的参数不一样,call 传递参数arg1,arg2...形式 apply 必须数组形式[arg]
- bind 不会调用函数,可以改变函数内部this指向。
主要应用场景:
- call 经常做继承。
- apply 经常跟数组有关系,比如借助于数学对象实现数组最大值最小值。
- bind 不调用函数,但是还想改变this指向,比如改变定时器内部的this指向。
解析:
call方法

apply方法
bind方法
箭头函数能否当构造函数
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。
call、apply和bind都是JavaScript中用于改变函数内部this指向的方法。call和apply会立即执行函数,而bind则返回一个新的函数。call接受参数为arg1,arg2...,apply参数需为数组。bind常用于设置定时器的this,箭头函数则不具备自己的this,不能用作构造函数。
171万+

被折叠的 条评论
为什么被折叠?



