最近在在写微信小程序,再写一个函数时,代码总是在报错。代码的的大意就是这样
function func1(){
var a=1
func2()//在func1里面调用func2
}
function func2(){
var b=a+1//以为反正代码是
}
func1()
就会报错b underfined
但是如果换一种写法
function func1(){
var a=1
func2()//在func1里面调用func2
function func2(){
var b=a+1
}
}
func1()
则能顺利运行
这里涉及的是函数声明提升的知识点。函数和变量一样,函数声明语句将会被提升到外部脚本或者外部函数作用域的顶部(是不是跟变量提升非常类似)
//这个
function func1(){
var a=1
func2()//在func1里面调用func2
}
function func2(){
var b=a+1//以为反正代码是
}
func1()