在Nicholas C. Zakas的Professional JavaScript for Web Developers的第4章中,作者说函数参数遵循与执行上下文中的任何其他变量相同的访问规则。为此,我测试了以下代码:
function n1(num1, num2) {
function n2() {
var num3 = (num1 + num2);
console.log(num3);
}
}
我用: n1(1,2)调用了n1()函数。我认为结果将是3,但我得到 undefined 。
为什么会出现这种情况?
答案 0 :(得分:4)
n1
和n2
都没有返回任何内容(undefined
来自哪里)。此外,永远不会调用n2
。如果您想从3
获取n1(1, 2)
,则必须修改如下内容:
function n1(num1, num2) {
function n2() {
var num3 = (num1 + num2);
console.log(num3);
return num3;
}
return n2();
}