!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.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
bar 是在函数内部,使用function声明的,所以在全局中检测不到,改用window.bar = function(){}就可以了
最后,那个return是迷惑人的,因为没有接收的变量,在函数外使用变量bar接收,bar也能运行