[Javascript] Using IIFE to improve code performance
Example 1
Before
function addEvent(ele, eventName, handler) {
if (ele.addEventListener) {
ele.addEventListener(eventName, handler);
} else if (ele.attachEvent) {
ele.attachEvent('on' + eventName, handler);
} else {
ele['on' + eventName] = handler;
}
}
After
var addEvent = (function () {
if (ele.addEventListener) {
return function (ele, eventName, handler) {
ele.addEventListener(eventName, handler);
};
} else if (ele.attachEvent) {
return function (ele, eventName, handler) {
ele.attachEvent('on' + eventName, handler);
};
} else {
return function (ele, eventName, handler) {
ele['on' + eventName] = handler;
};
}
})();
Example 2
Before
function request(options) {
if (typeof window !== 'undefined') {
// Browser-side AJAX
} else {
// Node.js HTTP
}
}
After
var request = (function () {
if (typeof window !== 'undefined') {
return function (options) {
// Browser-side AJAX
};
} else {
return function (options) {
// Node.js HTTP
};
}
})();
Example 3
Before
function removeSpace(str) {
// Test Regex...
return str.replace(/\s/g, '');
}
After
var removeSpace = (function () {
var reg = /\s/g;
return function (str) {
return str.replace(reg, '');
};
})();
You don't need to create a reg
object everytime when running the function.
分类:
Javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-12-03 [Javascript Performance] Optimisation and deoptimization
2022-12-03 [Javascript Performance] How to benchmark code performance
2022-12-03 [Typescript] 125. Extreme - Object Key Paths
2021-12-03 [AWS] Using EC2 Roles and Instance Profiles in AWS
2019-12-03 [Algorithm] 122. Best Time to Buy and Sell Stock II
2019-12-03 [ARIA] Create an Accessible Tooltip on a Text Input
2019-12-03 [Algorithm] 121. Best Time to Buy and Sell Stock