前端--js基础 1--全局变量与局部变量 局部变量: 函数的形参也可以看做 局部变量,只能在函数内部使用, 程序执行完毕就会被销毁,节约内存 全局变量:任何一个地方都能用,浏览器关闭时才会被销毁,占内存1 2--作用域链 链式查找 var num=10 fuction fn(){ var num = 20 function fun(){ console.log(num) //会采用就近原则向外部函数寻找num的值,此时num=20,若fn没有给num赋值则依次寻找更外层num=10 } } 3--预解析 js运行有两步:预解析(变量和函数) 执行代码 1.1预解析会把js里所有的var function提升到当前作用域最前面 2.1变量预解析(变量提升)将所有变量声明提升到当前作用于最前面,但不提升其赋值 2.2函数预解析(函数提升)将所有函数声明提升到当前作用最前面,但不会提升其调用