Js代码执行特性
js中变量声明都会提升到脚本的第一行(注意不是定义,只是声明)
函数变量声明也会提升到前面(是整个函数!)(变量最前,函数其后)
注:在执行js代码前,先把所有变量声明,函数提升至前面,之后再运行(该覆盖的覆盖)
console.log(a);
var a = 1;
等价于
var a ;
console.log(a);
a = 1;
var a = 3;
function a(name,age){}
console.log(a);
输出3
若变量名和函数名重名,变量名覆盖函数名
undefined派生自null
+一元运算符有转化类型的作用,转化为number类型