在下面的代码中,变量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