• js 函数中的 return+匿名函数


    今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:

    代码如下:

    function makefunc(x) { 
     return function (){ 
      return x; 
     } 

    alert(makefunc(0)); 
     
    结果是:function (){return x;}不是0

    不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返回一个值。如果返回的是一个函数,那么返回的也是函数本身。 
    可以这样修改上面的代码,就是alert(makefunc(0)()): 

     

    如果想要执行alert(makefunc(0))返回的结果是0,可以这么改写;例如:

    代码如下:

    function makefunc(x) { 
     return (function (){ 
      return x; 
     })(); 

    alert(makefunc(0)); 


    这里有一个匿名函数, 

    代码如下:

    (function (){ 
     return x; 
    })(); 


    在第一个括号内是匿名函数,第二个括号用于调用该匿名函数,您可以在第二个括号中传入所需的参数。例如: 

    代码如下:

    (function( x , y){ 
     alert( x + y); 
    })(2 ,3 ); 
     
  • 相关阅读:
    20130118
    延迟加载、分页显示等功能的增加
    ==和Equals的区别
    20160115--Hibernate
    20160108--搜索查询
    20150105
    20151229--数据表格
    20151226--easyUI
    DreamWeaver使用技巧(转)
    20121109
  • 原文地址:https://www.cnblogs.com/keyi/p/6733867.html
Copyright © 2020-2023  润新知