易截截图软件、单文件、免安装、纯绿色、仅160KB

研究一下JavaScript的函数回调机制

研究一下JavaScript的函数回调机制
1、背景
Javascript中的回调函数,相信大家都不陌生,最明显的例子是做Ajax请求时,提供的回调函数,
实际上DOM节点的事件处理方法(onclick,ondblclick等)也是回调函数。
在使用DWR的时候,回调函数可以作为第一个或者最后一个参数出现,如:
function callBack(result){
}
myDwrService.doSomething(param1,param2,callBack);//DWR的推荐方式
//或者
myDwrService.doSomething(callBack,param1,param2);
2、问题描述
最近在使用Dojo+Dwr的时候,碰到一个问题:
如果回调函数是属于某个对象(记为obj1)的方法,等到DWR执行该回调函数的时候,
上下文却不是obj1。
表现的现象就是在回调函数中访问obj1的任何属性都是undefined。
版本:Dojo1.3.1和dwr2
3、模拟问题的代码
下面的测试代码可以模拟这个问题:
<html>
<head>
<script>   
    var context="全局";
    var testObj={       
        context:"初始",
        callback:function (str){//回调函数
            alert("callback:我所处的上下文中,context="+this.context+",我被回调的方式:"+str);
        }       
    };//创建一个对象,作为测试回调函数的上下文
    testObj.context="已设置";
   
    function testCall(){               
        callMethod(testObj.callback);
        callObjMethod(testObj,testObj.callback);       
    } 
    function callObjMethod(obj,method){       
        method.call(obj,"指定显式对象上下文回调");
    }
    functio


相关文档:

JavaScript捕获窗口关闭事件

JavaScript捕获窗口关闭事件
关键字: window.close事件
javascript捕获窗口关闭事件有两种方法
1.用javascript重新定义 window.onbeforeunload()  事件
在javascript里定义一个函数即可
function  window.onbeforeunload()  {  alert("关闭窗口")}
alert()事件将会在关闭窗口前执行,你也可以用 ......

JavaScript中对象的创建

JavaScript中创建对象的方法如下:
一、创建简单对象:
最简单的创建对象的方法就是用一个新的Object,然后向其中添加内容:
 
现在调用myObject.say(),将弹出’gao’的警告框。
 
var myObject = new Object();
myObject.name = ‘gao’;
myObject.say = function(){
alert ......

javascript 的try catch


Try...Catch 语句
try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。
语法:
try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}
注意:
try...catch 使用小写字母。大写字母会出错。
实例 1
下面的例子原本用在用户点击按钮时显示 " ......

Javascript文件及文件夹操作

一、功能实现核心:FileSystemObject 对象 
    要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。
二、FileSystemObject编程 
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号