JS 子函数能直接给父函数返回值吗

JavaScript018

JS 子函数能直接给父函数返回值吗,第1张

可以返回值,但是在父函数里面用一个变量接受就行:

var a= checkin("不合格,重新输入")

return false

那么a的值就为false了

可以的。

所有函数在执行的时候,都会生成一个变量对象:

变量对象相当于一个栈,栈的第一个元素是函数当前的作用域的变量,下一个元素就是包含该函数的作用域(如果存在)。最后,到全局环境的时候,会在栈的结尾加上几个全局对象:window、Math、 Date 等 javascript原生对象。

当在函数调用变量时,将会在变量对象中循环搜索是否存在该变量,逐次搜索直到最后的全局对象。当搜索的层次越深,访问变量的效率越低。

修改下,刚没仔细看,其实内部function声明的那个t函数和外部var声明的那个匿名函数不是同一个函数,var声明出来一块匿名函数的作用域,然后在这个独立的作用域里,再用function声明一个普通的函数而已。两个t是不同的命名空间下不同的函数而已。