!function (){
var local = 1
function bar (){
local++
return local
}
return bar
}.call()
bar()
为什么这个bar是undefined呢?
!function (){
var local = 1
function bar (){
local++
return local
}
return bar
}.call()
bar()
为什么这个bar是undefined呢?
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
bar 是在函数内部,使用function声明的,所以在全局中检测不到,改用window.bar = function(){}就可以了
最后,那个return是迷惑人的,因为没有接收的变量,在函数外使用变量bar接收,bar也能运行