猿问

功能范围是什么?我应该使用已经实例化的变量吗?

我目前正在阅读第一本《不懂JS的书》,《 Up and Going》。我正在尝试通过购买电话和配件来建立他们的第一个练习,但是我遇到了麻烦,我不明白为什么。我已经针对这种特定情况简化了代码,以查看是否有人可以在这里提供帮助。我的所有功能均不起作用:(我的输出如下::


YDKJS2.js:38 Your total purchase before taxes is: 1049.9

YDKJS2.js:42 Your total purchase after taxes is: 1049.9

YDKJS2.js:46 Your remaining account balance is: function remBalance( bal , total ){

 bal = bal - total;


 return bal;

}

我已经尝试使用已经实例化的相同变量,但它们仍然无法正常工作。


const SPENDING_THRESHOLD = 200;

const TAX_RATE = 0.08;

const ACCESSORY_PRICE = 9.99;

const PHONE_PRICE = 199.99;


var totalPurchase = 0;

var numberPhones = 0;

var numberAccessories = 0;

var accountBalance;


function calculateTax( amt ){

 amt = amt + (amt * TAX_RATE);


 return amt;

}


function remBalance( bal , total ){

 bal = bal - total;


 return bal;

}


accountBalance = prompt( "How much money is in your bank account right now?" );


while( totalPurchase < accountBalance ){

 totalPurchase = totalPurchase + PHONE_PRICE;


 numberPhones++;


 if( PHONE_PRICE < SPENDING_THRESHOLD ){

 totalPurchase = totalPurchase + ACCESSORY_PRICE;


 numberAccessories++;

    }


}


console.log("Your total purchase before taxes is: " +totalPurchase);


calculateTax(totalPurchase);


console.log( "Your total purchase after taxes is: " + totalPurchase );


remBalance( accountBalance , totalPurchase);


console.log("Your remaining account balance is: " +remBalance);


摇曳的蔷薇
浏览 166回答 2
2回答

小唯快跑啊

范围就像变量/函数/等的可见区域。通常,您在全球范围内工作。如果在函数内部编写代码,则开始使用受其自身变量,函数等限制的函数范围。但是,在正常情况下,您也可以访问全局范围并可以使用它。在您的示例中,您应该检查哪里是变量,哪里是函数。您可以使用不带花括号的“ remBalance”,但在此之前您将其定义为函数。因此,需要使用“ remBalance(bal,total)”。

撒科打诨

const SPENDING_THRESHOLD = 200;const TAX_RATE = 0.08;const ACCESSORY_PRICE = 9.99;const PHONE_PRICE = 199.99;let totalPurchase = 0;let numberPhones = 0;let numberAccessories = 0;let accountBalance = 973.17;function calculateTax( amt ){amt = amt + (amt * TAX_RATE);return amt;}function remBalance( bal , total ){bal = (bal - total);return bal;}while( totalPurchase < accountBalance ){totalPurchase = totalPurchase + PHONE_PRICE;numberPhones++;if( PHONE_PRICE < SPENDING_THRESHOLD ){totalPurchase = totalPurchase + ACCESSORY_PRICE;numberAccessories++;}}console.log("Your total purchase before taxes is: " +totalPurchase);totalPurchase = calculateTax(totalPurchase);console.log( "Your total purchase after taxes is: " + totalPurchase );accountBalance = remBalance( accountBalance , totalPurchase);console.log("Your remaining account balance is: " + accountBalance);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答