proxy和call都是改变this指向 那么区别是什么?

proxy和call都是改变this指向 那么区别是什么?

proxy和call都是改变this指向 那么区别是什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕码 2020-06-06 14:42:44

同学你好,老师没有说“call 有两个参数”哦,如下;

http://img1.sycdn.imooc.com//climg/5edb3430097b7e3100000000.jpg

关于参数:call,第一个参数是this指定对象,后面参数是传入的值。

http://img1.sycdn.imooc.com//climg/5edb344909acb41503160124.jpg

http://img1.sycdn.imooc.com//climg/5edb34550945ed2306450035.jpg

$.proxy ,写法:$(selector).proxy(function,context),参数:

function:将要被改变作用域的函数
context:一个object,那个函数的作用域会被设置到这个object上来。

 参考例子:

http://img1.sycdn.imooc.com//climg/5edb3ac7098978f808180470.jpg

同学可以自己试一下。祝学习愉快~

提问者 陈立天 2020-06-06 10:58:23

另外还有就是这个  老师说call 有两个参数,这里的call里面有好几个参数

http://img1.sycdn.imooc.com//climg/5edb063509c85cbd06880396.jpg

好帮手慕码 2020-06-06 10:35:55

同学你好,$.proxy()与call从功能上类似,可以改变this的指向,但是不能混用哦。

区别:(1)关于使用场景的,如下:

(1)call是原生JS中的;

(2)$.proxy 方法是jquery中的;

(2)传递参数不同:

call 第一个参数是this指定对象,后面参数是传入的值。

$.proxy 方法接受一个已有的函数,并返回一个带特定上下文的新的函数第一个参数为函数名称,第二个参数为对象。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 陈立天 #1
    2.传递参数不同 我感觉看了老师的解释还是有点不太理解,能不能简单举个例子说一下
    2020-06-06 10:54:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师