在每个AnimationFrame上调用的函数内部声明一个函数的性能和效率可以吗? A)与B)一样好吗?JS - 在函数内部声明的函数
A)
function update() {
function do() { ...}
}
B)
function update() {
do();
}
function do() { ...}
在每个AnimationFrame上调用的函数内部声明一个函数的性能和效率可以吗? A)与B)一样好吗?JS - 在函数内部声明的函数
A)
function update() {
function do() { ...}
}
B)
function update() {
do();
}
function do() { ...}
不,这不是一个好主意,因为你一次又一次地重新声明相同的功能。
一个更好的模式是:
(function() { // this is your closure
var genericVariableOne = 123,
genericVariableTwo = 456;
function genericFunctionOne() {...}
// now do stuff here
})();
这样,你只封闭内声明函数一次。对于变量,取决于它们的使用方式,将它们声明为外部可能是也可能不是一个好主意。
为什么要在每一帧上声明函数? – tadman 2015-03-31 15:49:38
只是为了关闭,共同属于什么,共享相同的varibales – user1477955 2015-03-31 15:51:50
A和B的行为不一样。 – epascarello 2015-03-31 15:54:43