zoukankan      html  css  js  c++  java
  • 函数

    一.函数声明

    二.函数表达式

    三.匿名函数

    可以避免冲突

    匿名函数的常见形式

    1.btn.onclick=function(){  

            // alert("aaaaa");  

       }

    2.var fun = function(){};

    3.setTime(funtion(){},200);

    4.var obj={name:"song",say:function(){}}

    四.匿名自执行函数

    方式:1.(function(data){alert(data)})("ddd");

       2.(function(){alert("jjj");}());

       3.!function(data){alert(data)}("hhh");

       4.var fun = function(data){alert(data)}("jjj");

    五.匿名自执行函数的作用

      1.用来实现闭包

      2.避免冲突  减少全局变量

    六.预编译

      函数声明会预编译,函数表达式只是变量赋值 所以只能预编译变量。

    1. function aa(){ alert("11"); }

      aa();//22

      function aa(){ alert("22"); }

       aa();//22

      以上两个函数都属于函数声明 都会在预编译阶段处理,而函数名相同 会按后来的定义  那么在执行阶段就只能得到定义的函数的结果

    2.   var ledi = function(){alert('ledi1');};   

       ledi();   //ledi1

       ledi = function(){alert('ledi2');};   

         ledi(); //ledi2

    以上两个都属于变量赋值  在预编译阶段,两个变量名一样   分配一个内存空间存放变量ledi的内容,当代码执行时 会按照顺序执行和赋值 

    3.   function ledi(){alert('ledi1');}; 

         ledi(); //ledi1
          ledi = function (){alert('ledi2');};
        ledi(); //ledi2

    4.

           ledi = function (){alert('ledi1');};

      ledi(); //ledi1

      function ledi(){alert('ledi2');};
        ledi();//ledi1

     函数声明比变量声明更置顶:(函数在变量上面)

    var aa=123;
    function aa(){
    alert("fiewsf");
    }
    alert(aa);//123

    在全局作用域中声明变量带var可以进行预解析,所以在赋值的前面执行不会报错;声明变量的时候不带var的时候,不能进行预解析,所以在赋值的前面执行会报错。

  • 相关阅读:
    求解:块级元素的宽度自适应问题
    list 小练习
    codevs1017乘积最大
    codevs1048石子归并
    luogu1387 最大正方形
    BZOJ1305: [CQOI2009]dance跳舞
    linux下分卷tar.bz文件的合并并解压缩
    ubuntu命令查补
    认识与学习BASH(中)
    认识与学习BASH
  • 原文地址:https://www.cnblogs.com/theworldofbeisong/p/9021765.html
Copyright © 2011-2022 走看看