在看jquery源码的时候第一步就是遇到这个代码
(function( window, undefined ) {
// jquery code
})(window);
接触js不是很多会很费解,自己写了个以下的匿名函数:
<script type="text/javascript"> (function(x,y){ alert(x+y); return x+y; })(1,2); </script>
发现它是可以执行的。稍微研究了下分享如下:
我们通常定义函数都是
function add(x,y){ alert(x+y); } var a = function add(x,y){ alert(x+y); }
这两种方式,不过,在js里面有匿名函数的概念。就比如
function(x,y){ alert(x+y); return x+y; }
就是一个匿名函数,如果a = function(){}这种形式定义函数,那么a()就能够执行函数,因为a是这个函数的一个引用,那么匿名函数后面直接加括号能不能执行呢?结果是不能执行。要想执行,可以选择的一种方法就是把匿名函数用括号括起来,把它当作表达式来处理,这样后面加括号会执行前面的表达式。这样就出现了
(function(x,y){ alert(x+y); return x+y; })(1,2);
这种形式。
在js里面括号可以把括号里面的内容看成是表达式,这个也是很特有的,不过在eval解析JSON 时会经常用到,
function strToJson(str){ // eval 中字符串两旁加了强制运算符() var json = eval('(' + str + ')'); return json; }
相关推荐
总之,JS自调用匿名函数是JavaScript开发中的一个重要技巧,它提供了私有作用域、防止变量冲突和优化代码组织的能力。通过合理利用这一特性,开发者可以写出更安全、更高效的代码。在实际开发中,尤其是在大型项目和...
函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数: // ...
在理解了匿名函数和匿名自执行函数的概念和作用之后,我们可以总结出,匿名函数可以简单理解为没有名字的函数,而匿名自执行函数则是可以自动执行的匿名函数。匿名函数常见于事件处理器、回调函数等场景,而匿名自...
本文将深入探讨JavaScript中的三个重要概念:闭包、原型和匿名函数。 一、闭包 闭包是一种特殊的函数,它能够访问其自身作用域、外部函数作用域以及全局作用域中的变量。在JavaScript中,闭包的主要用途是创建私有...
### 浅析Javascript匿名函数与自执行函数 #### 一、引言 在现代Web开发中,JavaScript作为一种广泛使用的编程语言,其灵活性和强大的功能深受开发者喜爱。其中,匿名函数和自执行函数是两个非常重要的概念,对于...
Microjob的工作原理是,它接收一个匿名函数作为参数,这个函数就是将在Worker线程中执行的CPU密集型任务。Microjob会自动管理线程的创建、任务分发以及结果的收集。这样做的好处是,开发者无需直接与复杂的Worker ...
### JavaScript中的函数声明与函数表达式 在JavaScript中,函数是一种非常重要的编程构造,它可以被定义为函数声明或函数表达式。这两种定义方式各有特点,并且在不同的上下文中有着不同的行为。 #### 函数声明...
JavaScript中的匿名函数是一种非常灵活的函数定义方式,它在编程中起到了重要的作用,尤其是在处理回调、闭包和立即执行函数等方面。以下是对标题和描述中所提到的匿名函数用法的详细说明: 1. **匿名函数的基本...
第三种方法是使用匿名函数来自动执行 JS 函数。例如: ```javascript <script type="text/javascript"> window.onload = function() { func1(); func2(); func3(); }; ``` 这种方法可以在页面加载完成后执行多...
JavaScript中的匿名函数是一种没有名称的函数表达式,它通常用于一次性执行的任务,或者作为其他函数的参数。在JavaScript中,`(function() {})()`是一个立即执行的匿名函数表达式(IIFE,Immediately Invoked ...
在PHP编程语言中,闭包和匿名函数是两个密切相关但略有区别的概念,但在实际使用中,它们常常被当作同一回事。PHP中的闭包是一种特殊类型的函数,它能够捕获和存储外部作用域中的变量,即使这些变量在闭包被定义后...
当这段代码运行时,浏览器会在5秒后执行包裹在匿名函数内的代码。 如果我们要实现5秒后自动跳转到首页,首页URL假设为`http://www.example.com`,那么可以这样写: ```javascript setTimeout(function() { window...
JavaScript中定义和使用自定义函数是该语言核心功能之一。自定义函数允许开发者封装逻辑,使其可复用且易于维护。以下是一些关键知识点。 一、定义方法 在JavaScript中,自定义函数通过使用function关键字定义。...
< SCRIPT LANGUAGE="JavaScript" src="debug.js"> < SCRIPT LANGUAGE="JavaScript"> var s = "string"; out.print(s); 详细参考:hidden.html 2,通过控制台查看目的网页的DOM文档树,执行JavaScript...
- 匿名函数表达式如`var foo = function() {}`,命名函数表达式如`var foo = function bar() {}`。 5. **作用域与闭包** - JavaScript有函数作用域,变量在函数内部定义,外部无法访问。 - 闭包是函数可以访问其...
而且,自执行函数中一般都会有一个function() {}形式的匿名函数。 下面的代码在window对象中创建一个命名空间 mySpace,并把自执行函数中的方法封装在mySpace命名空间之下,以便于我们调用这个自执行函数中的一些...
2. **匿名函数**:匿名函数是一种没有名称的函数,通常用于立即执行或作为参数传递给其他函数。 ```javascript var 函数名 = function() { // 函数体 return; // 返回值 }; ``` 3. **以对象形式声明**:这种...
2. 使用匿名函数: ```javascript document.getElementById("myButton").addEventListener("mouseover", function() { console.log("Mouse is over the button!"); }); ``` 这里,我们直接传递了一个匿名函数作为...
1. **函数表达式**:JavaScript支持匿名函数和命名函数表达式,如`function(){}`或`var myFunc = function(){}`。函数表达式可以用来创建闭包,这是一种强大的工具,允许函数访问并操作其外部作用域的变量,即使在其...
这里的`setTimeout`函数接受两个参数:一个回调函数(在这个例子中是匿名函数,用于关闭窗口)和延迟的时间(以毫秒为单位)。因此,3000毫秒即3秒后,`newWindow.close()`会执行,弹出窗口将自动关闭。 不过,实际...