你好,我實際上認爲這樣的東西會在JavaScript中工作。我聲明瞭這個變量,我想重新聲明並重新分配它,但是如果它之前是未定義的,那麼代碼應該被忽略,但它會像錯誤一樣。請看看我做了什麼。我如何使用條件重新分配和聲明新變量
var car = 'BMW';
console.log(car);//returns BMW
if (car === undefined)
var car = 'Saab';
console.log(car)// returns Saab
我認爲它應該返回寶馬。我錯了嗎? 我想做的事情是讓javascript忽略Saab的第二次賦值給汽車變量,因爲我認爲條件指定了saab的值只有在未定義時才應該重新分配給汽車變量,或者沒有定義的。但是它被定義了,但是仍然打印出來,是if語句實際上是錯誤的,因爲就我而言,我沒有達到我想要的。
你在哪裏/如何測試這個?它記錄了兩次「寶馬」,而不是「薩博」。 – str
1)不要在同一個變量上多次使用'var'。 2)'var'關鍵字有*函數*範圍,而不是*塊*範圍。爲塊範圍使用ES6'let' /'const'。 – gcampbell
它不會記錄「saab」......因爲@str問道:「你是如何測試這個的?」,你能在小提琴中顯示輸出嗎? – Sankar