假设我正在使用一个揭示模块模式并具有嵌套函数,如:
function outer () { function a () {} function b () {} function c () {} }
我可以用对象简写来揭示这些函数:
return { a, b, c };
或者我是否需要将它们绑定到变量,如:
var a = function a () {}; var b = function b () {};
T.J. Crowder.. 5
我可以用对象速记显示这些函数,如:
return { a, b, c };
是.像你的问题中的那些函数声明创建了一个标识符(函数名)与当前词法环境对象中的值(函数对象)的绑定; 这些绑定就像变量创建的绑定一样,可以与新的ES2015简写对象表示法一起使用.
示例(您需要使用支持ES2015简写表示法的浏览器;任何最近的Chrome或Firefox都可以使用):
function outer () {
function a () { console.log("a"); }
function b () { console.log("b"); }
function c () { console.log("c"); }
return {a, b, c};
}
const o = outer();
o.a(); // "a"
我可以用对象速记显示这些函数,如:
return { a, b, c };
是.像你的问题中的那些函数声明创建了一个标识符(函数名)与当前词法环境对象中的值(函数对象)的绑定; 这些绑定就像变量创建的绑定一样,可以与新的ES2015简写对象表示法一起使用.
示例(您需要使用支持ES2015简写表示法的浏览器;任何最近的Chrome或Firefox都可以使用):
function outer () {
function a () { console.log("a"); }
function b () { console.log("b"); }
function c () { console.log("c"); }
return {a, b, c};
}
const o = outer();
o.a(); // "a"