修改this指向的方法:(陆续补全中...)
目前学习的有三种方法:
apply()
使用格式: 函数名.apply(this指向的对象,原函数的参数数组)
【注意】 apply会让原函数立即执行。 apply第二个参数是一个数组。
call()
使用格式: 函数名.call(this指向的对象,原函数的参数列表...)
【注意】call()也会让原函数立即执行,call方法从第二个参数开始,传入的参数是原函数的参数。
bind()
使用格式: 函数名 = 函数名.bind(this指向的对象,参数列表...),会返回一个新的函数,其内容与原函数一模一样。但是里面的this指向已经被修改了。
【注意】bind函数不会立即执行。
apply call bind 这三种方法的区别
1.apply call 方法会立即执行,而bind方法会返回一个新的函数,函数中的this以及被修改了。
2.apply 和 call方法的区别就在于传参的形式不同,apply的参数是一个数组。 call和bind方法都 是从第二个参数开始为原函数的参数列表。