相当于
两者都可
经典面试题,
小记:
js中变量的声明和和定义怎么区别?
(1)var x; //声明一个变量,但它还不包含一个值: undefined,不会被分配内存
(2)x = 10; //定义 之前已经声明的变量,定义就是分配了内存
(3)var y = 20; //声明并且定义一个变量
函数关键字声明时等于定义,函数表达式就是变量,只变量名声明不等于函数定义
由于预解析,输出代码应写在变量定义之后,调用代码应写在函数表达式之后,函数关键字定义函数时调用代码写在前后都可, 回调函数里面调用函数,其函数声明定义可写在回调后
面试常问
预解析提升到的是当前作用域,按作用域链规则从上到下执行
var a=b=c=9;只有a声明,集体声明方式var a=9,b=9,c=9;用逗号而不是等号