`
didiluck
  • 浏览: 10496 次
  • 性别: Icon_minigender_1
  • 来自: 山东-->北京
社区版块
存档分类
最新评论

理解javascript中的“自动执行函数”

 
阅读更多
  因为之前看了jquery的源码,对于源码中的一开始的()();不是很理解,后来到网上查了查,有了大致的了解,怕忘记了,所以记录一下。
(function(a){alert(a)})(1);
//上面的代码就是一个自动执行的js函数,和jquery中的一样。其中的
function(a){alert(a)}
//是一个匿名函数,接受一个参数。随后的(1)表示对这个匿名函数的调用,并且传递了一个参数,这与我们平常声明一个函数,并调用是一样的:
function x(a) {
  alert(a);
}
x();
//现在来说一下对于这个自动执行函数我所理解的执行顺序:
//首先,第一个小括号,也就是“(function(a){alert(a)})”是一个运算符号,就像:
(1+2)*3
//一样,这样,就是把这个匿名函数给返回,同时紧跟着后面的小括号“(1)”就把它给调用了。如果我们把包裹住匿名函数的小括号给去掉的话,
function(a){alert(a)}(1);
//这样,就不会执行。这时,虽然有了匿名函数,但是并没有对这个函数的引用,后面的小括号仅仅是一个运算优先级而已,并不是对方法的执行。
//不过我们这样写就可以执行了:
+function(a){alert(a)}(1);
//或者
-function(a){alert(a)}(1);
//或者
void function(a){alert(a)}(1);
//或者
new function(a){alert(a)}(1);
//上面的写法都可以。
//前面添加的“+,-,void,new”是运算符和执行关键字,这样会强制匿名函数在声明后返回引用,而后面的小括号就是对函数的执行
分享到:
评论

相关推荐

    javascript强制函数自动执行.pdf

    3. **立即执行**:如果你希望定义一个函数并立即执行它,可以使用函数表达式结合立即执行函数表达式(Immediately Invoked Function Expression,IIFE)的方式。 #### 立即执行函数表达式(Immediately Invoked ...

    深入理解javascript中的立即执行函数(function(){…})()

    JavaScript中的立即执行函数,也称为IIFE(Immediately Invoked Function Expression),是一种特殊的函数表达式,其特点是函数定义的同时就会被自动执行。这种技术在JavaScript编程中广泛应用,尤其是在库和框架如...

    Javascript中的函数.pdf

    理解JavaScript中函数的概念对于编写有效和高效的代码至关重要。以下知识点是基于提供的文件信息进行详细解释。 一、执行环境 执行环境是JavaScript中一个核心概念,它定义了变量或函数有权访问的其他数据。在Web...

    javascript经典特效---javascript代码自动生成.rar

    在JavaScript编程中,代码自动生成通常指的是通过某些工具或方法自动化创建代码的过程,这有助于提高开发效率并减少手动编写时可能产生的错误。下面我们将深入探讨JavaScript代码生成相关的知识点: 1. **模板引擎*...

    js javascript自动编号 编号递增

    在JavaScript编程中,"js javascript自动编号 编号递增"这一主题涉及到如何设计一个功能,使得能够自动为带有特定前缀(例如"0X")的数字字符串进行递增。这种需求通常出现在数据管理、序列化或者创建唯一标识符等...

    【JavaScript源代码】JavaScript CollectGarbage函数案例详解.docx

    理解JavaScript对象何时失效至关重要。对象在其生存的上下文环境之外(如函数作用域)或者没有被任何引用持有(全局对象未被使用)时,就会失效。失效并不意味着立即释放,而是等待垃圾回收器的工作。在示例中,通过...

    aaaaaa.rar_click javascript_javascript_javascript click_自动点击

    "自动点击"的概念通常涉及到JavaScript中的事件处理和模拟用户行为,这在某些应用场景中非常有用,例如自动化测试或者增强用户体验。让我们深入探讨一下这个主题。 首先,"click"事件是JavaScript中最基础的事件之...

    JavaScript_一个超级小的Javascript自动完成自动建议库零依赖800字节的mingzip.zip

    考虑到库的体积非常小,它很可能没有使用这些高级特性,而是直接通过全局变量或者立即执行函数表达式(IIFE)来封装代码,以保持简洁。 此外,这个库可能没有文档,但可以通过阅读"说明.txt"来理解如何使用。通常,...

    在javascript中实现函数数组的方法

    在JavaScript中,函数确实是一种特殊的数据类型,可以被当作变量存储、传递以及作为其他函数的参数。这与Java等静态类型的编程语言有很大区别。数组在JavaScript中是非常灵活的数据结构,可以存储不同类型的数据,...

    javascript 自定义eval函数实现

    JavaScript中的`eval()`函数是一个非常强大但又颇具争议的功能,它允许执行一个字符串作为JavaScript代码。在本讨论中,我们将深入探讨如何自定义`eval()`函数以提高代码的安全性和效率,同时也会涉及到JavaScript的...

    JS匿名函数和匿名自执行函数概念与用法分析

    将代码块包裹在匿名自执行函数中,使得函数内的变量在执行完毕后被销毁,从而减少全局变量的数量,有助于保持全局命名空间的整洁。 在理解了匿名函数和匿名自执行函数的概念和作用之后,我们可以总结出,匿名函数...

    JavaScript语言精粹完整版

    函数是JavaScript中最核心的概念之一,它们不仅能够执行一系列任务,还可以作为值进行传递和返回。JavaScript中的函数具有闭包的特性,这意味着函数可以访问并操作其外部作用域中的变量。 #### 对象 JavaScript中的...

    Javascript自动补全类(2)

    JavaScript自动补全类是开发过程中常见的一种功能,用于提高用户输入效率和准确性,尤其是在处理大量数据或代码编辑器中。这个主题主要围绕一个名为"Suggest"的类进行,该类可能是一个实现自动补全功能的JavaScript...

    JavaScript Tools Guide CC.pdf

    3. **脚本事件**:Photoshop支持通过JavaScript设置脚本事件,当特定事件触发时(如打开文件、保存文件等),会自动执行相应的脚本代码。 4. **图层和对象操作**:JavaScript允许对Photoshop中的图层、选区、路径、...

    JavaScript中定义函数的三种方法

    在实例化过程中,JavaScript引擎会自动执行构造函数中的代码,并创建一个新对象,同时将新对象的引用赋值给构造函数中的this关键字。 举一个构造函数的例子,如下代码定义了一个Person构造函数,并通过new操作符...

    深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域

    这种写法允许我们在运行时执行函数,同时保持函数内部的变量和函数不污染全局作用域。 1. **匿名函数的作用**: - **闭包**:匿名函数常常用于创建闭包,即一个函数能够访问并操作其外部作用域中的变量,即使在其...

    超强javascript联想功能、自动提示源码实例

    在实际的开发环境中,JavaScript自动提示功能常与代码编辑器(如VSCode、Sublime Text等)的插件系统结合,或者集成在IDE(如WebStorm)中。此外,现代前端框架如React、Vue等也有相关的库和组件可以方便地实现这一...

    Effective JavaScript 编写高质量JavaScript代码的68个有效方法1

    此外,他还提供了一些最佳实践,如使用立即执行函数表达式(IIFE)来创建局部作用域,以及如何在闭包中有效地管理作用域。 第三章关注函数的使用,涵盖了函数表达式、函数声明和函数作为一等公民的角色。作者详细...

Global site tag (gtag.js) - Google Analytics