Javascript – Drei Möglichkeiten, anonyme JS-Funktionen zu schreiben
漂亮男人
漂亮男人 2017-05-19 10:39:41
0
3
576

Das Folgende ist die anonyme Funktion von JS. Was sind die Unterschiede zwischen diesen drei Formen und welche Merkmale haben sie jeweils?

// 形式1
        (function(a){
            console.log(a);

        })(33)
        // 形式2
        !function(){
            console.log(2222222222)
        }()
        // 形式3
        (function(a){
            console.log(a);
        }(100))
漂亮男人
漂亮男人

Antworte allen(3)
刘奇

这三种写法其实没有本质上的区别,都是为了编译器(解释器)function(a){ console.log(a) }和()看作一个整体执行。应该更多的是习惯上的区别,我个人更喜欢第一种,感觉逻辑上更说的过去。有的人喜欢第二种,用()把整个函数调用括起来,这个可以更直白的表示这段代码是一个整体。听说老外喜欢用!或者void

某草草

第一种是自执行函数的常用方式,括号内包裹的是函数体本身,意味着执行函数定义,返回一个函数,紧接着后面的括号表示传入参数,执行这个函数。
第二种和第三种,其实是一样的,分别使用!括号 『包裹』函数体加传参部分,都表示执行这个代码块,执行代码块时,函数的名称可以省略。
第二种和第三种不同的地方就是前者没有参数,返回函数执行结果取非后的布尔值,后者有参数,默认返回函数返回值。

大家讲道理

第一种运行最快
后两种好看

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage