如果您尝试使用不存在且尚未声明的变量,则javascript将引发错误.var name is not defined,然后脚本就会停止.
但如果你使用它来检查它typeof noname,它将返回"undefined".我一直认为你必须声明一个var才能拥有一个类型.通过使用:var a; 因此它具有未定义的类型或赋予它类似的值:var b =5;所以它具有其值的类型.
此外之间有什么区别var a;和var b = undefined;?
JavaScript指南中有一个关于变量范围的句子:"JavaScript中的变量在某种意义上"被提升"或被提升到函数或语句的顶部.但是,未初始化的变量将返回未定义的值."
/**
* Example 2
*/
// will return a value of undefined
var myvar = "my value";
(function() {
console.log(myvar); // undefined
var myvar = "local value";
})();
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么"console.log(myvar);"将返回undefined?我认为第一行已经将myvar初始化为"我的价值".