javascript立即执行函数的原理是什么

解决方案 »

  1.   

    立即执行函数的一般形式是
    (function(){})()
    原理是在第一个()内创建一个函数表达式。函数后面的()实际上是执行函数的运算符,表示立即执行这个函数表达式。为什么要在()内创建函数呢?这中因为function(){}有两种用法。
    当function关键字出现在行首,它是一条“语句”,作为“语句”是没有返回结果的。所以不能用“语句”后面加()来执行函数
    当function关键字不是出现在行首,它就是一条“表达式”,作为“表达式”就有返回结果了。可以用“表达式”后面加()来执行函数在()内创建函数就是为了不让function关键字出现在行首。
    除了(function(){})()
    还可以
    (function(){}())
    [function(){}()]
    ~function(){}()
    +function(){}()
    -function(){}()
    !function(){}()
    当然也可以用
    var txt=function(){}()