dojoのhich関数はとても強いです.


コードは直感的で、直接コードを書きます.
 
 
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を出してはいけません.alertはundefined dojoのhitchを出しています.これを分かりやすくします.