3个回答
展开全部
function outter(){
//在outter中定义一个内嵌函数,inner
function inner(){
alert('inner function call.');
}
return inner;//返回内嵌的函数。
//inner is out of scope.
}
function follow(){
var inner = outter();//在follow中调用outter,获取inner函数的引用。
inner();//执行,我可以执行作用域外的函数了!
}
上面是举个简单的例子,来说明函数声明的作用域。上面的outter函数中,方法执行结束之后,inner函数的上下文已经销毁了。正常情况下,内部函数也会随着销毁。但是由于我们返回了inner函数的引用,并且在follow函数中成功赋值。因此inner函数虽然已经处于作用域外了,但是由于仍然有一个引用,所以它还是可以继续被执行。
但是follow函数结束以后,follow的上下文也销毁了,并且这次,inner函数再也没有机会逃离被销毁的命运了。
因此所谓函数嵌套的问题,就是作用域 + 引用 的问题。只要搞明白了这个就可以了。
展开全部
能嵌套,里面的function就是解决闭包的问题,不用解决,视情况而定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体一点,问题描述详细一点
追问
就是我要验证用户名和邮箱,在script中,想知道能不能嵌套
追答
可以的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询