我正在思考以下 Javascript 最佳实践模式。我的代码中有一个函数,其中有一些嵌套函数。应首选以下哪种模式?为什么?
function parent() {
function child1() {
//child 1 code
}
function child2() {
//child2 code
}
//parent code
return {
child1: child1,
child2: child2
};
}
或
function parent() {
var child1 = function () {
//child 1 code
};
var child2 = function () {
//child2 code
};
//parent code
return {
child1: child1,
child2: child2
};
}
最佳答案
这两个版本之间的主要区别在于
var a = function(){ ...
该函数是未定义的
,直到这一行(但变量存在) while in
function a() { ...
该函数是从封闭函数开始时定义的:
console.log(a); // logs "function a(){ return 2} "
console.log(b); // logs "undefined"
function a(){ return 2};
var b = function(){ return 2};
正如 Jan 指出的,第一个版本还定义了函数的 name
属性。
除此之外,没有什么区别,这主要是风格问题,我不知道最佳实践。
关于Javascript 嵌套函数 - 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741324/