刚学JS,图中那段(function(){
f();
})();
完全不明白为什么里面的function要用圆括号括上,后面为什么又加了一对圆括号
或许这问题很基础,但我真的不知道到底是啥
求告诉我该问题的关键字,我去谷歌或者百度都行
谢谢大家!只能选择一个答案!TAT
刚学JS,图中那段(function(){
f();
})();
完全不明白为什么里面的function要用圆括号括上,后面为什么又加了一对圆括号
或许这问题很基础,但我真的不知道到底是啥
求告诉我该问题的关键字,我去谷歌或者百度都行
谢谢大家!只能选择一个答案!TAT
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
这么做是的目的为了防止
变量污染
或者不想让外部访问从而保护变量
,这里的做法的术语叫立即执行函数
。实例:解决办法就是让b.js的变量被包裹起来:
由于在b.js的变量被函数的
作用域
包裹起来了,不能被外部访问到,所以c.js访问的是在全局作用域
的$,就能按预期拿到$,又不影响b.js的正常执行。另外简单的解释一下立即执行函数: