zoukankan      html  css  js  c++  java
  • js中()()问题

    1 var aa=function(){}();
    2 
    3 var bb=(function(){})();

    今天被问到这个问题,这段js有撒区别。

    总结一下,两个函数都是立即执行的意思。但是不同之处是执行的顺序,aa函数先认识函数,然后认识后面的小括号。

    bb函数是先将匿名函数,执行成为函数,然后在执行。bb函数常用于js包开发。

    自执行匿名函数:

    • 常见格式:(function() { /* code */ })();
    • 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
    • 作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各JavaScript库的代码也基本是这种组织形式。

    总结一下,执行函数的作用主要为 匿名 和 自动执行,代码在被解释时就已经在运行了。

    其他写法

    (function () { /* code */ } ()); 
    !function () { /* code */ } ();
    ~function () { /* code */ } ();
    -function () { /* code */ } ();
    +function () { /* code */ } ();


    转:http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html

  • 相关阅读:
    代码编辑
    作业7
    实验 13 综合练习三
    模版 实验二 概要设计
    在线评测系统(OJ)使用方法
    作业 6 结构体
    结构体简介
    实验 10 指针2
    (第一周)软件工程四人组
    (第一周)读《构建之法》
  • 原文地址:https://www.cnblogs.com/huzi007/p/4244839.html
Copyright © 2011-2022 走看看