dojo 的 hitch函数挺强悍的

代码 直观,就直接写代码了

 

 

function show data(){
var x=this.getData();
dojo.byId("showData").innerHTML="result"+x;
}

 

 

此时有个this 也就是域 的概念了。

 

 var domain1 = {
        value:0,
        getData:function(){return this.value++;}
}

var domain2 = {
       value:0,
       getData:function(){return this.value+5;}
}
 

 

 

 开始调用了

 

dojo.byId("f3").onclick = dojo.hitch(domain1,showdata);
dojo.byId("f4").onclick = dojo.hitch(domain2,showdata);

 

 这个看起来很神奇的东西 

 

要知道平时我们直接调用一个方法

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transtional//EN"
						"http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> 表格</title>

<script type ="text/javascript" >
var obj = {
o:4,
foo:function getdata(arg)
{
	this.o+=arg;

	},
	result:function()
	{
		alert(this.o);
	}
	}
	function returnO(fun)
	{
		return fun();
	}
	function info()
	{
	
	obj.foo(9);
	obj.result();
	
	returnO(obj.result);
	
	}

</script>
	
	</head>
<body >
<input type="button" name="info" value="info" onclick="info()"/>
	</body>
</html>
 

 

 

obj.result() 可以alert出13 returnO(obj.result)就不行了alert出的是undefined dojo的hitch让这个就很容易理解了

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(JavaScript,html,dojo)