匿名函数:没有名字的函数; 闭包:可访问一个函数作用域里的变量的函数; 一 匿名函数 // 普通函数function box(){ // 函数名是box;return Lee; }box(); // =>Lee; 调用函数; // 匿名函数function(){ // 匿名函数,会报错;return Lee;} // 通过表达式自我执行(function(name){console.log(name); // =>Lee;})("Lee"); // "()"表示执行函数,并且可以传参; // 把匿...
本文实例讲述了JavaScript中匿名函数用法。分享给大家供大家参考。具体分析如下: JS中可以不用给函数名称,而是在使用时直接通过function把函数体赋值给相关的事件或者变量。 下面的JS代码给按钮设定了一个onclick事件,使用了匿名函数 <form action="#"> <input type="button" value="Click Me" id="anonbutton" /> </form> <script type="text/javascript"> var anonbutton = document.getElementById("anonbutton"); anonbutto...
迷惑了一会儿不同JS库的封装后,终于有了点头绪。大致就是:代码如下: 创建一个自调用匿名函数,设计参数window,并传入window对象。而这个过程的目的则是,代码如下: 使得自身的代码不会被其他代码污染,同时也可以不污染其他代码。jQuery 封装 于是找了个早期版本的jQuery,版本号是1.7.1里面的封装代码大致是下面这样的代码如下: (function( window, undefined ) { var jQuery = (function() {console.log(hello);}); window.jQu...
本文实例讲述了JavaScript匿名函数用法。分享给大家供大家参考。具体如下: 一、定义一个函数 在JavaScript中,可以通过“函数声明”和“函数表达式”来定义一个函数,比如 1、通过“函数声明”来定义一个函数 function t1(){}2、通过“函数表达式”来定义一个函数t2 = function(){}但是两种方式定义函数,效果是不同的 t1是函数声明,‘词法分析时,AO.t1 = function(){},-------------在‘词法分析阶段就发挥作用 t2是赋值操作,...
本文实例讲述了javascript匿名函数的用法。分享给大家供大家参考。具体分析如下: 摘要: 本文讲解的是javascript最基础也是最重要的东西--函数,之所以写这篇文章,是因为面试的时候问到了,也算是温故而知新了。 先上个例子,如果你看懂了,说明你已经理解了本文要讲的。代码如下:var f = (function() { function f() {return 10;} return f(); function f() {return 20;} var f = 30; })(); console.log(f); ja...
1、匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种:这也是最常规的一种代码如下: function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用。代码如下: var double = new Function(x, return 2 * x;);...
这段代码输出的是10个10而不是期望的0到9,因为闭包内是对i的引用,然后函数执行时i已经变成了10function f1(){ for(var i = 0; i < 10; i++) { setTimeout(function() { alert(i); }, 1000); } } f1();解决以上的问题可以采用自执行的匿名函数function f2(){ for(var i = 0; i < 10; i++) { (function(e) { setTimeout(function() { alert(e); }, 1000); })(i); } } f2();这里的匿名函数将i作为参数,这里的e会有i的一个拷贝,而...
Javascript中的自执行匿名函数 格式:(function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 来个带参数的例子: (function(arg){ alert(arg+100); })(20); // 这个例子返回120。 重要用途:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的...
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- C#匿名函数--> <title></title> <script type="text/javascript"> var f1 = function (x, y) { //【1】 定义一个匿名函数,用变量f1来指向它(f1相当于一个委托,这个时候f1就可以当做一个函数来用了) return x + y; } //调用这个匿名函数 alert(f1(5, 6)); //输出11 //【2】 还可声明匿名函数立即使用 alert(function (a, b) { return a + b } (10, 2)); //直接声明...
javascript匿名函数,就是说个函数没有名字,下面先列出测试代码 代码如下:/* * 一般常见函数是这样 */ function debug(data) { console.log(data); } 但有的函数,它却偏偏写成了这样 代码如下:(function(x, y) { debug(x + y); }) 上面就是所说的匿名函数了 代码如下:var fun = null; (function() { var test = function(x ,y ) { debug(x +y); } fun =test; })(); 这个时候你在浏览器的控制台输入fun ,你会发现它打印出 ...
js中常常定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间(防止局部变量与全局变量冲突)。 代码如下:function mymodule(){ //模块代码 } mymodule(); 可以简写为: 代码如下:(function(){ //mymodule()函数重写为匿名的函数表达式 //模块代码 }( )<span style="color:#ff0000;">)</span>; //结束函数定义并立即调用它 或者: 代码如下:(function(){ }<span style="color:#ff0000;">)</...
1.匿名函数概述 关于匿名函数的第一次认识还是在jquery源码里,打开jQuery首先看到的是 代码如下:(function( window, undefined ) {.......................})(window); 这就是一个匿名函数,红色为参数,匿名函数的作用是创建一块封闭区域,外面不能够访问里面的变量和方法。 既然不能访问,那怎么能调用jquery?这是因为jquery的匿名函数有这样两句话(蓝色字): 代码如下:(function( window, undefined ) { // Define a loc...
引入 匿名函数 闭包 变量作用域 函数外部访问函数内部的局部变量 用闭包实现私有成员 引入 闭包是用匿名函数来实现。闭包就是一个受到保护的变量空间,由内嵌函数生成。“保护变量”的思想在几乎所有的编程语言中都能看到。 先看下 JavaScript 作用域: JavaScript 具有函数级的作用域。这意味着,不能在函数外部访问定义在函数内部的变量。 JavaScript 的作用域又是词法性质的(lexically scoped)。这意味着,函数运行在...
古人有"授之以鱼,不如授之以渔" ,没有老师,就只能自己学"渔"了。还是从简单的开始吧! 下面的这几句代码是最熟悉不过的了,但是你知道为什么这么写吗?为什么在页面中加上这几句代码,jQuery对象就已经被引入了。 代码如下: (function($){ //功能的实现code })(jQuery); 我就从这个开始了!程序员都懂得如何google和baidu。同样我也一样...噢!原来这是javascript的匿名函数。 这个匿名函数是什么东西呢?慢慢来学习吧! Jav...
我选择了jQuery,最主要是它的思想“write less,do more",因为我是一个挑剔的人,以前写过的代码,会时不时翻出来,看看有没有可以精简,优化的地方。一来是对不断学习的推动,二来可以将新的思想,技术应用到里面去。 对于jQuery插件的写法,以前就有介绍过,网上也有很多例子。 这里简要地进行些写法,主要是简写的说明,见下列代码: <script type="text/javascript" src="jquery-1.4.2.js"></script> 代码如下:<script type=...