Javascript 如何从外部函数调用嵌套函数
我有多个“蝙蝠侠”实例,需要调用“蝙蝠侠”中的嵌套函数,从!“蝙蝠侠”之外的另一个功能 大概是这样的:Javascript 如何从外部函数调用嵌套函数,javascript,Javascript,我有多个“蝙蝠侠”实例,需要调用“蝙蝠侠”中的嵌套函数,从!“蝙蝠侠”之外的另一个功能 大概是这样的: var a = new batman('a'); var b = new batman('b'); var c = new batman('c'); robin(); function batman(str){ function hello(){ console.log("hello world! Called from: "+str); } retu
var a = new batman('a');
var b = new batman('b');
var c = new batman('c');
robin();
function batman(str){
function hello(){
console.log("hello world! Called from: "+str);
}
return {
hello : hello
};
}
function robin(){
a.hello();
}
var a=新蝙蝠侠();
var b=新蝙蝠侠();
var c=新蝙蝠侠();
罗宾();
函数蝙蝠侠(){
函数hello(){
log(“你好,世界!”);
}
}
函数robin(){
a、 你好;
}
hello
对于每个调用batman
的上下文来说都是完全私有的。您不能从任何其他地方调用它,除非您以某种方式使其可用,例如通过调用batman
通过new
将其指定给您正在创建的对象上的属性:
function batman(){
this.hello = function() {
console.log("hello world!");
};
}
例如:
var a=新蝙蝠侠();
//var b=新蝙蝠侠();
//var c=新蝙蝠侠();
罗宾();
函数蝙蝠侠(){
this.hello=function(){
log(“你好,世界!”);
};
}
函数robin(){
a、 你好;
}
有很多不错的js模式,你可以找到如何编写好的js代码,你可以像这样对代码进行MIDI:
var a = new batman('a');
var b = new batman('b');
var c = new batman('c');
robin();
function batman(str){
function hello(){
console.log("hello world! Called from: "+str);
}
return {
hello : hello
};
}
function robin(){
a.hello();
}
P.S:在这种模式下,基于您的代码,
新的
是不必要的。您不能。hello不存在于外部函数之外。您可能希望将其添加到蝙蝠侠的原型上,然后可以从其实例中访问它。您无法立即访问。您需要通过prototype或this导出。可能是