该函数的实现步骤是怎样的?为什么等于15而不是12?

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。我是哪里理解错了呢?

蝴蝶不菲
浏览 601回答 1
1回答

一只甜甜圈

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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript