dojoのhich関数はとても強いです.
1908 ワード
コードは直感的で、直接コードを書きます.
この時点でthisというドメインの概念があります.
呼び出しを開始しました
これはとても不思議に見えるものです.
私たちは普段直接に一つの方法を呼び出すべきです.
obj.result()alertは13 returnOを出してはいけません.alertはundefined 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を出してはいけません.alertはundefined dojoのhitchを出しています.これを分かりやすくします.