关于javascript的变量声明,之前做的多的是C系列,转换过来比较顺畅。
变量不用声明,用就直接用,还就是全局变量。也没有类型规定,很方便。只是遇到一些麻烦。
比如这个,我第一次看到时,也纠结半天没有答案。
var v = "hello"; (function(){ console.log(v); var v = "world"; })();
这个运行结果就是 undefined
显示undefined就说明v这个变量被声明了,但是没有赋值。也就相当于
var v = "hello"; (function(){ var v; //declaration hoisting提前声明了 console.log(v); v = "world"; })();
类似的,函数也是这样的。
(
function
(){
fun1(); function fun1(){ console.log(123); } })();
这个显示了123;
等价于
(
function
(){
function fun1(){//提前声明了函数 console.log(123); } fun1(); function abc(){ console.log(123); } })();