JavaScript回调函数陷阱
2008-04-05 12:33
288 查看
先看一段代码:
tst.fun();
没任何问题,可以正常运行.
那么再看下边这个(典型AJAX应用):
ajax.queryString = 'wife=晓宇';
ajax.sendRequest('test.php','GET');
貌似跟上边的调用一模一样!却始终出这么个错误: this.processResult is not a function,奶奶滴,真是邪了!
我调试一个多钟头大概,把目光放到了这行"doc.onreadystatechange = function() {",注意,这句和上边的fun:function(){...是不同的,前者为赋值后调用,耳后者是直接调用,那么回头想一下,所谓的this.processResult到底是哪个this?
哈,我吧this改成了ajax.processResult重新运行了一遍,狂笑!,小样,到底让我搞明白了,此this非彼this,这里的this指的是“doc”这个对象,而不是ajax这个对象(说对象或许不太合适!-_-)。所以类,this.processResult在doc里边当然不是一个函数了,人家没有报错错误,一个教训,一点经验!
tst.fun();
没任何问题,可以正常运行.
那么再看下边这个(典型AJAX应用):
ajax.queryString = 'wife=晓宇';
ajax.sendRequest('test.php','GET');
貌似跟上边的调用一模一样!却始终出这么个错误: this.processResult is not a function,奶奶滴,真是邪了!
我调试一个多钟头大概,把目光放到了这行"doc.onreadystatechange = function() {",注意,这句和上边的fun:function(){...是不同的,前者为赋值后调用,耳后者是直接调用,那么回头想一下,所谓的this.processResult到底是哪个this?
哈,我吧this改成了ajax.processResult重新运行了一遍,狂笑!,小样,到底让我搞明白了,此this非彼this,这里的this指的是“doc”这个对象,而不是ajax这个对象(说对象或许不太合适!-_-)。所以类,this.processResult在doc里边当然不是一个函数了,人家没有报错错误,一个教训,一点经验!
相关文章推荐
- Javascript 回调函数
- 从零开始学_JavaScript_系列(四)——jquery(基础,选择器,触发条件,动画,回调函数)
- 在JavaScript中遭遇级联表达式陷阱
- JavaScript服务器端执行后的回调函数
- 从零开始学_JavaScript_系列(四)——jquery(基础,选择器,触发条件,动画,回调函数)
- JavaScript回调函数的概念与范例
- 理解javascript中的回调函数(callback)
- 理解和使用 JavaScript 中的回调函数
- JavaScript 存在陷阱 删除某一区域所有节点
- JavaScript常见的编码陷阱
- JavaScript中8个常见的陷阱
- JavaScript中的"陷阱"
- javascript容易犯错的陷阱
- JavaScript 演练(4). 回调函数
- JavaScript的9个陷阱及评点
- javascript 基础篇3 类,回调函数,内置对象,事件处理
- Javascript中的陷阱大集合
- JavaScript 浮点数陷阱及解法