Sie benötigen Funktionen wie Funktionen markieren, entfernen Sie die inneren elem
Parameter und geben ein Objekt, das die Funktionen enthält:
function _abc(elem){
function a(){
return elem + 'a';
}
function b(){
return elem + 'b';
}
return { a:a, b:b };
}
console.log(_abc('hello').b());
Ein anderer Weg, dies zu schreiben, um diese ohne Wiederholen der Funktionsnamen mehrmals:
function _abc(elem){
return {
a: function() {
return elem + 'a';
},
b: function() {
return elem + 'b';
}
};
}
console.log(_abc('hello').b());
Und noch eine, wie von @ 4castle vorgeschlagen. Diese wird nur von JavaScript-Umgebungen unterstützt, die EcmaScript 6 unterstützen:
function _abc(elem){
return {
a() {
return elem + 'a';
},
b() {
return elem + 'b';
}
};
}
console.log(_abc('hello').b());
Ihre '_abc' wird allgemein als "Konstruktorfunktion" bezeichnet. Hilft Ihnen das zu sehen, was es zurückgeben soll? – 4castle