关于Heads First Javascript Book puzzle的澄清

时间:2017-12-02 16:33:57

标签: javascript

为什么谢尔洛克决定不对案件进行调查?他怎么能知道犯罪分子只能通过查看代码才能偷钱?代码有问题吗?或者更多?这是我们的解决方案。

  var balance = 10500;
var cameraOn = true;

function steal(balance, amount) {
    cameraOn = false;
    if (amount < balance) {
        balance = balance - amount;
    }
    return amount;
    cameraOn = true;





}


var amount = steal(balance, 1250);
console.log("Criminal: you stole " + amount + "!");

现在,本书指出balance put参数是阴影。并且安全摄像头没有重新打开。我一直试图解决这个问题,所以它会起作用。我提出了退货金额;在cameraOn = true之后; 相机是否需要退回?因为它也是一个全局的功能? 更新余额的最佳方法是什么?我尝试在函数后更新它,但我认为该函数应该真正更新它?然后回归平衡; ?

任何方向都会受到赞赏,因为这本书没有告诉你修复它的方法。我只想试着理解它。

1 个答案:

答案 0 :(得分:0)

  

相机是否需要返回?

如果窃取应该返回布尔值yes。如果没有,则不需要。

  

因为它在函数中也是全局的吗?

而是作为全局范围的一部分而且该函数位于该全局范围内。

  

更新余额的最佳方法是什么?

 amount = steal(Infinity, Infinity);

现在你比亿万富翁更富裕了;)

我的银行如何:

  

封装余额的块:

{
 let balance = 1250;

 function steal(amount){
   if(amount >= balance){
     balance -= amount;
     return true;
   }
   return false
 }

}