原理:就是函数及变量的声明都将被提升到函数的最顶部。
结果:变量和函数都支持先试用后声明
案例:
//变量提升x = 5; // 变量 x 设置为 5alert(x);var x; // 声明 x//函数提升print(5); //调用函数function print(y) { //声明函数 return y * y;}
原理:在函数内嵌套另一个函数(另一个函数则为闭包)
结果:
在js中没有静态变量,可以将函数内声明的局部变量作为局部变量
怎么保证局部变量只被调用一次,可以通过变量赋值的方式,也就是首次调用最外层函数,后面都调用闭包
可以防止其他函数对其进行修改(其他函数可任意对全局变量进行修改)
案例:
function count() { var counter = 0; return function () {return counter += 1;}} var add= count();add(); add();//值为二
相关推荐:
以上是js函数和变量的提升及闭包讲解的详细内容。更多信息请关注PHP中文网其他相关文章!