JavaScript Day27 - IIFE (立即函式)

IIFE

  • IIFE (立即函式):IIFE (Immediately Invoked Function Expression) 是一个定义完马上就执行的 function
  • 语法:(function)(),可以看到就是用 2 组 () 进行,第 1 个 () 包覆 function,可在第 2 个 () 带入参数
  • function 内设定的变数不会影响全域
  • 变数接收回传的值,而不是 function
function funa() {
    let a = "a";
    console.log(a);
}
// 没有呼叫 funa() 不会执行

(function () {
    let b = "b";
    console.log(b);
})();

console.log("c");
console.log(b);
// b
// c
// Uncaught ReferenceError: b is not defined

设定变数

(function (name) {
    console.log(`My name is ${name}`);
})('Barry'); // My name is Barry

赋予值给变数

let result = (function () {
    let name = "Barry";
    return name;
})();

console.log(result); // Barry
console.log(typeof result); // string

for 回圈,间隔时间印出

// 秒数不 *i 会在秒数到後一次输出全部
for(var i = 0; i < 5; i++){
    setTimeout(function(){
        console.log(i)}
    ,1000 * i)
}
// 5 5 5 5 5

for(var i = 0; i < 5; i++){
    (function(num){
        setTimeout(function(){
            console.log(num)}
        ,1000 * i)
    })(i)
}
// 0 1 2 3 4

for(let i = 0; i < 5; i++){
    setTimeout(function(){
        console.log(i)}
    ,1000 * i)
}
// 0 1 2 3 4

参考资料

MDN IIFE
JavaScript基本功修练:Day22 - 回传函式与立即函式(IIFE)
重新认识 JavaScript: Day 18 Callback Function 与 IIFE
立即函式 IIFE
Day20 立即呼叫的函式表示式(IIFE)
[笔记] 谈谈JavaScript中的IIFEs(Immediately Invoked Functions Expressions)

次回

补充一下网路请求的资料


<<:  应用系统的防护基准 - 委外注意事项

>>:  【第二十八天 - XSS Lab(2)-6】

Proxmox VE 启用客体机复写及搭配迁移功能使用

当客体机在 Proxmox VE 节点上运作且客体磁碟储存於节点的本机储存即区时,若想要让客体机的...

【Day 23】为美好的 Windows 献上 ETW - Event Tracing for Windows

环境 Windows 10 21H1 ETW 介绍 历史 ETW (Event Tracing fo...

创建App-主页界面

创建App-主页界面 在登入页面设计、建设完成後,进入第二个页面建设啦。主页包括了广告,作业、讨论区...

[寿星优惠-2] 肉肉先生 Mr.zozo #当月寿星6折

9盎司沙朗牛,原价338+10%,寿星价NTD.237元(已包括服务费) 肉肉先生跟昨天的响厚牛排各...

[Tableau Public] day 2:认识 tableau public & 下载安装

日子来到了第二天,我们先去 tableau public 的官网看看吧! 注册帐号跟下载程序这两件事...