关于getJSONP函数

关于getJSONP函数

getJSONP[name]=function(data){

try{

callback && callback(data);

}catch(e){


}finally{

//最后删除该函数及script标签

delete getJSONP[name];

script.parentNode.removeChild(script);

}

}

视频说这个函数是getJSONP的方法,那既然是它的方法,为什么不是this[name]

正在回答

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

2回答

同学你好!

这里没有用到this指向,并且要和上面的name、cbname对应起来

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

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 慕前端7432760 提问者 #1
    还不是很理解 我在控制台的NetWork里面找到了请求的jsonp,然后查看它的preview 显示的是 getJSONP.getJSONPcge([{linkUrl: "https://class.imooc.com/sc/20",…}, {linkUrl: "https://class.imooc.com/sc/25",…},…]) 它这一串,表示的意思是不是调用封装的getJSONP函数下的getJSONPcge方法,里面传递了json数据 既然是getJSONP函数里面的方法,为什么不写成this[name]来表示它是getJSONP下面的方法,而要写成getJSONP[name]作为名字
    2019-07-04 16:09:04
  • 慕前端7432760 提问者 #2
    主要就是不知道为什么要这么命名,作为函数里面的方法,不是应该用this来指向吗?
    2019-07-04 16:15:52
  • 慕前端7432760 提问者 #3
    了解了,我把它和函数面向对象实例化搞混了
    2019-07-04 22:09:50
好帮手慕码 2019-07-04 19:25:56

同学你好!

这里全局作用下调用getJSONP函数,所以说this还是指向window的。可以打印看一下:

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

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

如果帮助到了你 欢迎采纳 祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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