首页 > 代码库 > callback调用测试

callback调用测试

<html><head><script>        var context="全局";    var testObj={                context:"初始",        callback:function (str){//回调函数            alert("callback:我所处的上下文中,context="+this.context+",我被回调的方式:"+str);        },        caller:function(){                        callWithClosure(function(param){this.callback(param);});            var temp=this;            callWithClosure(function(param){temp.callback(param);});                    }     };//创建一个对象,作为测试回调函数的上下文    testObj.context="已设置";        function testCall(){                            callMethod(testObj.callback);        testObj.caller();        callWithClosure(function(param){testObj.callback(param);});        callObjMethod(testObj,testObj.callback);            }     function callObjMethod(obj,method){                method.call(obj,"指定显式对象上下文回调");    }    function callMethod(method){                method("通过默认上下文回调");            }    function callWithClosure(method){                method("通过Closure保持上下文回调");            }        function callback(str){        alert("callback:我是定义在外部的全局函数。");    }</script></head><body><a href="javascript:void(0)" onclick="testCall()">调用测试</a></body></html>