普通函数的定义与执行
// 定义函数fun,接收两个参数a,b
function fun(a, b){
console.log(a)
console.log(b)
}
// 执行函数fun
fun(1,2)
// 输出:
// 1
// 2
此时将函数fun
换成一个匿名函数
(function (a, b){
console.log(a)
console.log(b)
})(1, 2)
发现没,与你截图的样子差不多了,只不过参数不一样,但实质是一样的:
typeof window !=="undefined"?window:this
的值function(window,noGlobal){ // ... }
的值总结下来就是定义个了一个函数,然后调用了这个函数,并传入了参数。只不过将这几个步骤的代码写在一块了。
可以去网上搜索js自执行函数进行学习,很多文章讲的都很好,里面涉及到闭包、作用域等知识。学习完你就会知道为什么要将一个好端端的函数调用写成这个德行了
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
你可以这样理解
两个函数
调用第一个函数,把第二个函数作为参数传递进去