关于cbname的理解,麻烦老师看看

来源:3-3 跨域封装(2)

qq_Mr郭生_0

2020-06-16 22:31:37

我的理解是加了cbname,可以让服务器返回的函数作为getJSONP函数的属性,而这样做的目的是因为声明对象方式中的构造方法声明对象,创建函数的方式是this.属性名=function(){};如果没有cbname,那么返回的只有name函数,而name函数无法在getJSONP函数内创建;

写回答

1回答

好帮手慕久久

2020-06-17

同学你好,理解的不是非常准确,具体如下:

cbname 的值是 'getJSONP.' + name,即在函数'getJSONP’上挂载了一个属性name(该点理解正确),然后我们在'getJSONP’方法内部定义了这个属性,如下:

http://img.mukewang.com/climg/5ee98117099f172008390520.jpg

这样服务器返回'getJSONP[name](数据)’时,就可以直接找到getJSONP方法中定义的name属性,即getJSONP[name],然后执行它。

如果返回的只有name,会因为找不到name这个函数,而无法处理返回的数据。

同学再试着理解一下。

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

1

0 学习 · 14456 问题

查看课程