我是Javascript的新手,我不确定为什么我的代码有效。 我通过Codecademy这里学习是我的代码:Javascript逻辑误解
var orderCount = 0
function takeOrder(topping, crustType) {
orderCount = orderCount + 1;
console.log('Order: ' + crustType + ' pizza topped with ' + topping);
console.log(getSubTotal(orderCount));
}
function getSubTotal(itemCount) {
return itemCount * 7.5
}
takeOrder('peperoni', 'thin');
takeOrder('extra Cheese', 'medium')
takeOrder('Bacon', 'EXTRA THICK')
我得到我想要的输出,这就是:
订单:介质:薄比萨佩佩罗尼 7.5
订单突破披萨配上额外奶酪15
订购:带培根的超厚比萨饼 22.5
但是为什么? Javascript如何知道代码中有多少订单?
我的猜测是,由于orderCount = orderCount + 1;
和:
takeOrder('peperoni', 'thin');
takeOrder('extra Cheese', 'medium');
takeOrder('Bacon', 'EXTRA THICK');
但是,我真的不知道。我宁愿知道为什么我的代码工作:)
Javascript使用类似于c或java的范围系统。您的orderCount变量位于全局范围内,因此所有函数都可以访问orderCount变量。你可以参考https://stackoverflow.com/questions/500431/what-is-the-scope-of-variables-in-javascript – David