码迷,mamicode.com
首页 > 其他好文 > 详细

匿名函数和闭包

时间:2018-08-26 16:38:06      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:创建   style   连接   define   boolean   访问   --   运行   number   

回顾一下

  基本类型 

 

      五大基本类型:

 

            String    Number   Boolean   Null    undefined    //占有固定的内存大小,如数值型占八个字节,布尔类型占一个字节,他们的值保存在栈空间,

 

      三大引用类型

 

             数组(array) 对象(Object) 函数(function)//引用类型占用空间内存不确定,但内存地址大小是固定的,存储的实际上是数据的内存地址

 

函数作为参数的几种方式

              1.函数作为另一个函数的参数

    2 有参函数函数作为参数

<script >
//第一种函数作为另一个函数的参数
        function f(){
            alert("我是作为参数的函数")
        }
        function s(a){//此处啊作为形参,可以是任意值
            a();
        }
        s(f);
//第二种函数作为另一个函数的参数
       function people(){
           return 100
       }
       function sum(x,y){
           alert(x+y())
       }
       sum(10,people)

  //有参函数作为函数参数
      function fun(a){
          return a*a;
      }
      function ss(x,z){
          alert(x+z(x))
      }
      ss(100,fun)

</script>

 

 函数的内部属性

          1 arguments 本质上相当于一个集合,表示函数参数的一个集合

             2 使用arguments.length检测函数参数个数

<script >

  function sum(){
    alert(arguments.length)//检测参数个数
      result=0;
      for(var i=0;i<arguments.length;i++){
          result+=arguments[i]
      }
      return result;
  }//求参数和
  alert(sum(1,2))
  alert(sum(1,2,3,4));

</script>

 

   

一  匿名函数

      定义:没有函数名字的函数

               1.单独的匿名函数是无法运行和调用的

     2. 可以把匿名函数赋值给变量

     3. 通过(匿名函数)()来执行

                4. 匿名函数传递参数(匿名函数)(参数)

接下来看一些小例子

<script >
    <!-- //普通函数 -->
    function people(){
      alert("我是一个好人")
    }
    people()

 //    //把参数赋值给一个变量
    
    var str=function(){
        alert("把函数赋值给一个变量")
    }
     alert(str)  //弹出函数体本身
     str()       //弹出结果


    // 匿名函数
     (function() {
         alert("你是一个坏人")
     })()


     //带参数的匿名函数
     (function(m,n) {
         alert(m+n)
     })(100,200)

</script>

 

 二 闭包

   定义:闭包是指可以访问另一个函数作用域中的变量

   在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁

   常见方式

   闭包的常见方式就是在一个函数中创建里另一个函数

  作用:通过闭包可以访问局部变量

             可以让局部变量始终保持在内存中

  

   

 

 

 

 

 

 

匿名函数和闭包

标签:创建   style   连接   define   boolean   访问   --   运行   number   

原文地址:https://www.cnblogs.com/qianqian-it/p/9536423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!