js闭包,匿名函数概念

var functionName = function(arg){

  //函数体

};

  匿名函数:创建一个函数,并将它赋值给一个变量,这种情况下创建的函数叫做匿名函数,因为function关键字后面没有标识符。(匿名函数有时候也叫拉姆达函数)。匿名函数的name属性是空字符串。

  注:FireFox、Safari、Chrome和Opera都给函数定义了一个非标准的name属性,通过这个属性可以访问给函数指定的名字。这个属性的值永远等于跟在function关键字后面的标识符。

  闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在函数内部创建另一个函数。

    function comparison(propertyName){
        return function(object1,object2){
            var value1 = object1[propertyName];
            var value2 = object2[propertyName];
            if(value1>value2){
                return -1;
            }else if(value1>value2){
                return 1;
            }else{
                return 0;
            }
        };
    }
时间: 2024-08-26 19:34:23

js闭包,匿名函数概念的相关文章

js 闭包 匿名函数 JavaScript的IIFE(即时执行方法)immediately-invoked function expression

参考:http://segmentfault.com/a/1190000000348228 http://segmentfault.com/q/1010000000442042 问题: (function(){ function a(){ alert("a"); } })();这里的(function(){xxx})(); 是什么意思,为什么这么写,有什么好处?答: function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运

js之匿名函数

js之匿名函数   这篇博文内容来自于javascript高级程序设计第2版,向作者致敬 函数声明: function functionName(arg0,arg1){ //函数体 } 函数表达式: var functionName = function(arg0,arg1){ //函数体 } 函数声明和函数表达式之间的主要区别是前者会在代码执行前被加载到作用域中,而后者是在代码执行到那一行的时候才会有定义.另一个区别是函数声明会给函数指定一个名字,而函数表达式则创建一个匿名函数,然后将这个函数

js 闭包让函数只执行一次

js 闭包让函数只执行一次 <script>function once(f) {    var run;    return function() {        if (!run) {            run = true;            f.apply(this, arguments);        }    }}var g = once(function(x) {    alert(x)});g(1);g(2);g(3); </script> js 闭包让函

JS的三种使用方式/CSS的三种使用方式/JS中的DOM事件模型/JS中匿名函数的书写及调用/媒体查询@media的三种使用方式

一.JS的三种使用方式 1.html标签中内嵌JS(不提倡使用.)                <button onclick="javascript:alert('你真点啊.')" > 有本事点我呀!!!!</button>                                2.HTML页面中直接使用JS:                <script type="text/javascript">        

PHP闭包--匿名函数

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数.最经常用作回调函数(callback)参数的值.当然,也有其它应用的情况. Example #1 匿名函数示例 <?phpecho preg_replace_callback('~-([a-z])~', function ($match) {    return strtoupper($match[1]);}, 'hello-world');// 输出 helloWorld

js中匿名函数

今天碰到一道题,里面既包含了匿名函数的知识,也包含了预编译,函数的传参(形参),感觉迷迷糊糊的,所以想着做个总结. var foo={n:1}; (function(foo){ console.log(foo.n); foo.n=3; var foo={n:2}; console.log(foo.n); })(foo); console.log(foo.n); 上面的代码,可以写成这样,看解释 1 var foo={n:1}; 2 (function(foo){ //此时形参和实参指向相同的内存

20170713_js闭包/匿名函数/作用域

js:闭包 var getNum; function getCounter() { var n = 1; var inner = function () {return n++; } console.log(n); return inner; } //第一步 getNum = getCounter(); //第二步 console.log(getNum());//1 //第三步 console.log(getNum());//2 //也许是这样?可能的情况1: //第一步 getNum指向了ge

JS里面匿名函数的调用 &amp; 变量作用域的实验

参考 http://www.educity.cn/wenda/54753.html 已实验验证结果正确. 1.下列哪些正确?(B.C) A.function(){ alert("Here!"); }(); B.(function(){ alert("Here!"); })(); C.(function(){ alert("Here!"); }()); 下面也已经实验验证结果正确. 2.下列哪个结果是正确的?(A.B.C.D) A.(functio

js的匿名函数和js的onload函数

所谓js匿名函数就是当用户一打开页面时不等到文档加载完就会执行里面的代码,语法如下: (function(){})(); js的onload函数代码如下: <!DOCTYPE html><html> <head>        <meta charset="utf-8">        <title></title>    </head><script>            var btn