关于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’方法内部定义了这个属性,如下:

这样服务器返回'getJSONP[name](数据)’时,就可以直接找到getJSONP方法中定义的name属性,即getJSONP[name],然后执行它。
如果返回的只有name,会因为找不到name这个函数,而无法处理返回的数据。
同学再试着理解一下。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题