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

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

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

摇曳的蔷薇 2021-03-29 21:18:42
我目前正在阅读第一本《不懂JS的书》,《 Up and Going》。我正在尝试通过购买电话和配件来建立他们的第一个练习,但是我遇到了麻烦,我不明白为什么。我已经针对这种特定情况简化了代码,以查看是否有人可以在这里提供帮助。我的所有功能均不起作用:(我的输出如下::YDKJS2.js:38 Your total purchase before taxes is: 1049.9YDKJS2.js:42 Your total purchase after taxes is: 1049.9YDKJS2.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);
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

范围就像变量/函数/等的可见区域。通常,您在全球范围内工作。如果在函数内部编写代码,则开始使用受其自身变量,函数等限制的函数范围。但是,在正常情况下,您也可以访问全局范围并可以使用它。

在您的示例中,您应该检查哪里是变量,哪里是函数。您可以使用不带花括号的“ remBalance”,但在此之前您将其定义为函数。因此,需要使用“ remBalance(bal,total)”。


查看完整回答
反对 回复 2021-04-08
?
撒科打诨

TA贡献1934条经验 获得超2个赞

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);


查看完整回答
反对 回复 2021-04-08
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号