参考:https://blog.csdn.net/stpice/article/details/80586444

  1. (function(){}()), (function(){})()

    均为立即执行函数——IIFE (Immediately Invoked Function Expression)

    写法:
    (1)(function foo(){/.../}());

    (2)(function foo(){/.../})();

    (3)!function foo() {/.../}();

    (4)+function foo() {/.../}();

    (5)-function foo() {/.../}();

    (6)~function foo() {/.../}();

    IIFE函数可传参,写法:(function foo(arg1,arg2,...){...}(param1,param2,...));
    如:(function()...)(juqery);即是将实参juqery传入函数function(){},通过形参$接收。

    上述函数中,最开始的那个括号,可能会由于js中自动分号插入机制而引发问题。例如:

    a = b + c
    ;(function () {
    // code
    })();

    如果没有第二行的分号,那么该处有可能被解析为c()而开始执行。
    所以有的时候,可能会看到这样的写法:;(function foo(){/.../}()),前边的分号可以认为是防御型分号。

  1. $(function(){})

    是$(document).ready(function(){/.../})的简写形式,是在DOM加载完成后执行的回调函数,并且只会执行一次。

    在一个页面中不同的js中写的$(function(){/.../});函数,会根据js的排列顺序依次执行

最新文章

  1. MySQL数据迁移到MSSQL-以小米数据库为例-测试828W最快可达到2分11秒
  2. hdu-2063-二分图最大匹配
  3. MVC OF UEditor 图片上传- 额外参数 笔记
  4. HTTP中的POST、GET区别
  5. Java/Android 二进制数据与String互转
  6. 浅谈RAID写惩罚(Write Penalty)与IOPS计算
  7. python的一些总结5
  8. Java程序实现导出Excel,支持IE低版本
  9. linux下修改.bash_profile立即生效的三种方法
  10. leetcode day7
  11. NodeJS Stream 四:Writable
  12. RELabel : 一个极简的正则表达式匹配和展示框架
  13. ledisdb:支持类redis接口的嵌入式nosql
  14. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识
  15. pandas 读取excel文件对数据简单清洗并用matplotlib 将数据展示
  16. 3.建造者模式(Builder)
  17. Debian 中文环境设置
  18. [转帖]2019 简易Web开发指南
  19. jquery ajax context
  20. Apt-Cacher-ng 搭建缓存服务器

热门文章

  1. vc面试题目
  2. Linux 服务器 个人常用操作命令记录
  3. Android开发 retrofit入门讲解
  4. webstorm安装与破解
  5. 线性dp,后缀处理——cf1016C好题
  6. USART 串口
  7. day3:python测试题
  8. 19.SimLogin_case08
  9. 2019 Multi-University Training Contest 6 Nonsense Time (纯暴力)
  10. Linux使用crontab定时执行Python脚本清理日志