在下面的代碼中,變量dogName在被調用之前被聲明,但是沒有賦值給它。這意味着我期望JavaScript將它視爲null。來自javascript的奇怪錯誤消息「undefined some constant string」
function myDog() {
var dogName;
console.log(dogName + 'says woof');
dogName = 'fido';
}
myDog();
,但讓我震驚的錯誤消息是
undefined says woof
爲什麼?我認爲錯誤信息必須是「空值!」或根本沒有錯誤信息,它可以簡單地顯示「null說woof」。
爲什麼「undefined說woof」被拋出?
編輯:這意味着「說woof」是不確定的!
你沒有指定'dogName'直到'的console.log()'。在此之前它的'undefined'。 – Barmar 2014-11-02 02:39:43
哦!知道了之後。你的意思是javascript已將dogName替換爲「undefined!」 – 2014-11-02 02:40:43
'說woof'不是錯誤消息,它在你的'console.log()'調用中。 – Barmar 2014-11-02 02:42:05