1.什么是内联函数?
var a = function b(){};
这个不是一般的函数表达式吗,为什么又叫做内联函数?
2.函数整体外加一个括号什么意思?加括号与不加括号什么区别?
在非严格模式下我们可以使用 num * arguments.callee(num - 1)来代替函数名。
严格模式下,通常会采用内联命名函数来解决这个问题。
var factorial = (function f(num) {
if (num <= 1) {
return 1;
} else {
return num*f(num - 1);
}
});
console.log(factorial(5)); // 120
var anothorFactorial = factorial;
factorial = null;
console.log(anothorFactorial(5)); // 120
多谢回答。
ibeautiful
相关分类