为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蝴蝶不菲 2018-09-11 10:09:52
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

查看完整回答
反对 回复 2018-10-12
  • 1 回答
  • 0 关注
  • 600 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信