确定函数范围的值

时间:2016-08-19 20:24:00

标签: javascript function scope

有人可以向我解释答案是15吗?我理解doSomething的函数范围是调用doSomethingElse,但是得到的结果与15不同。

function doSomething(a) {
    b = a + doSomethingElse( a * 2 );

    console.log( b * 3 );
}

function doSomethingElse(a) {
    return a - 1;
}

var b;

doSomething( 2 ); //15

1 个答案:

答案 0 :(得分:1)

这里没有涉及范围。任何这些变量中的任何一个都不会跨越范围边界:

1. doSomething(2);
2. b = 2 + doSomethingElse(2 * 2);
3. b = 2 + (2 * 2 - 1);
4. b = 2 + 3
5. b = 5;
6. console.log(b * 3);
7. console.log(5 * 3);
8. console.log(15);
9. 15