在javascript函数中返回事件侦听器
我想知道当您在javascript函数中执行类似操作时会发生什么:在javascript函数中返回事件侦听器,javascript,Javascript,我想知道当您在javascript函数中执行类似操作时会发生什么: function() { var privateMembers : { 'methodA' : function() { }, 'methodB' : function() { } }; var publicMembers = { 'methodC' : function() { }, 'methodD' : function() { } }; publicMembers.lis
function() {
var privateMembers : {
'methodA' : function() {
},
'methodB' : function() {
}
};
var publicMembers = {
'methodC' : function() {
},
'methodD' : function() {
}
};
publicMembers.listen = {
"myEvent:Listener" : publicMembers.MethodC;
};
return publicMembers;
}
我知道只返回publicMembers会使方法可用,但我也在想,这是否也会使publicMembers.listen可用?是的。这两个代码是等价的
var publicMembers = {
'methodC' : function() {
},
'methodD' : function() {
}
};
publicMembers.listen = {
"myEvent:Listener" : publicMembers.MethodC;
};
以及:
listen只是publicMembers对象的一个属性,使用对象文本或点表示法声明属性没有区别。因此,当您向publicMembers对象添加listen属性并返回整个对象时,您当然也可以访问publicMembers.listen。顺便说一句,测试非常容易。是的,返回整个
publicMembers
对象。你试过了吗?
var publicMembers = {
'methodC' : function() {
},
'methodD' : function() {
}
'publicMembers' : {
listen : {
"myEvent:Listener" : publicMembers.MethodC;
}
}
};