我正在查看一些使用谷歌地图 API 的代码。
function initMap(){
(function(google , window){
var center = {
center: {lat: -34.397, lng: 150.644},
zoom: 8
};
var map = new google.maps.Map(document.getElementById('map'), center);
})(google , window);
}
所以我理解IIFE以及它如何防止全局范围污染,但我不明白将全局对象google和window传递给IIFE,在上面的代码中实现了什么。 有人可以解释一下使用这种模式的优点是什么以及我们到底在 IIFE 中使用 google 和 window 对象做什么吗?
最佳答案
what exactly are we doing with the google and window object inside the IIFE?
没什么用,也没什么用。
window
在函数内部根本不使用。
google
,但同步使用。如果它是异步使用的,那么传递它可能会很有用,这样它的值就不会得到 overwritten between multiple uses of it ,但这里的情况并非如此。
关于javascript - IIFE 和命名空间参数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710141/