我是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