基本写法
(function (){
'use strict';
//运行代码
})();
由一个匿名函数+一对括号组成
function initializeEvents(){ //函数声明
'use strict';
var thumbnails=getThumbnailsArray();
thumbnails.forEach(addThumbClickHandler);
addKeyPressHandler();
}
initiallizeEvents();//函数执行
使用IIFE模式:
(function(){
'use strict';
var thumbnails=getThumbnailsArray();
thumbnails.forEach(addThumbClickHandler);
addKeyPressHandler();
})();
总结:不创建额外的全局变量
只运行代码一次。
通过IIFE修改对象
改造作为参数传入的对象
function initializeEvents(){ //函数声明
'use strict';
var thumbnails=getThumbnailsArray();
thumbnails.forEach(addThumbClickHandler);
}
定义函数时声明一个形参
function initializeEvents(thumbnails){ //函数声明
'use strict';
thumbnails.forEach(addThumbClickHandler);
}
var thumbnails = getThumbnailsArray();
initializeEvents(thumbnails);
改写成IIFE模式
(function (thumbnails){ //函数声明
'use strict';
thumbnails.forEach(addThumbClickHandler);
})();
var thumbnails = getThumbnailsArray();
initializeEvents(thumbnails);
将一组缩略图作为实参传入
(function (thumbnails){ //函数声明
'use strict';
thumbnails.forEach(addThumbClickHandler);
})(getThumbnailsArray());
var thumbnails = getThumbnailsArray();
学习资料来源:Web开发权威指南