javascript - IIFE 和命名空间参数的使用

标签 javascript

我正在查看一些使用谷歌地图 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/

相关文章:

javascript - 为什么/这个网页不包含任何 javascript?

javascript - 使用 ReduxReducer 修改嵌套状态

javascript - 系列较大时隐藏 HighCharts StackLabels

javascript,对象逻辑和对象,语法错误?

javascript - jQuery 选项卡 - 获取新选择的索引

javascript - typeahead 不允许自由文本输入?

javascript - 使用 D3.js 制作圆圈动画

javascript - HTML map 检查重叠

javascript - Jquery .on Listener 不要给新元素添加点击监听器

javascript - crosswalk-project android 全屏