“的奇数值”;这";在javascript中
在下面的代码中,根据firebug,这将作为值[function()]获取,而不是define返回的对象“的奇数值”;这";在javascript中,javascript,dojo,this,Javascript,Dojo,This,在下面的代码中,根据firebug,这将作为值[function()]获取,而不是define返回的对象 define([“dojo/dom”, “dojo/dom构造”, ......., “dojo/domReady!”], 函数(dom, 建设,, ........){ 返回{ 函数(attr){ if(attr.many){ 返回attr.peek.length==0; }否则{ 返回!attr.peek; } }, ................ 添加按钮:函数(属性){
define([“dojo/dom”,
“dojo/dom构造”,
.......,
“dojo/domReady!”],
函数(dom,
建设,,
........){
返回{
函数(attr){
if(attr.many){
返回attr.peek.length==0;
}否则{
返回!attr.peek;
}
},
................
添加按钮:函数(属性){
console.log(this);用于定义类:
define(["dojo/_base/declare",
"dojo/dom",
"dojo/dom-construct",
.......,
"dojo/domReady!"],
function(declare,
dom,
construct,
........){
return declare([], {
is_empty_attr: function(attr){
...
},
add_button: function(attr){
...
}
});
});
这将有助于查看调用add_按钮
的位置示例,因为JavaScript中的this
在方法调用时是绑定的。我将在中编辑更多信息。谢谢,这是否限制了对所有模块的“this”引用(非嵌套/非回调)模块中的函数?不一定。您可以使用dojo/_base/lang包中的lang.hitch来更改任何函数的执行范围。请参阅
define(["dojo/_base/declare",
"dojo/dom",
"dojo/dom-construct",
.......,
"dojo/domReady!"],
function(declare,
dom,
construct,
........){
return declare([], {
is_empty_attr: function(attr){
...
},
add_button: function(attr){
...
}
});
});