function doSomething(a) {b = a + doSomethingElse( a * 2 );console.log( b * 3 );}function doSomethingElse(a) {return a - 1;}var b;doSomething( 2 ); // 15正在学习js,这一段代码中,为什么输出的结果是15呢?我的理解是a乘以2是(2-1)*2。我是哪里理解错了呢?
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
doSomething(2);
// 走doSomething方法
function doSomething(a) { // a为2
b = a + doSomethingElse( a * 2); // 2 + doSomethingElse( 2 * 2), 走doSomethingElse方法(结果为3), 所以结果为 2 + 3 = 5;
console.log( b * 3); // 5 * 3 = 15, 打印出结果15
}
function doSomethingElse(a) { // a为4
return a - 1 // 返回3
}
所以整个流程为(2 + ((2 * 2) - 1)) * 3 = 15
添加回答
举报
0/150
提交
取消