• (八)js函数二


    1.变量
    a)局部变量:在所有函数内部定义的变量,或者在函数内部未使用var声明的变量也属于全局变量.
    b)全局变量:在所有函数外部定义的变量.
    eg:
    1)    
    var a = 5,b = 4, c = 6;
        function sum() {
            var c = a + b; 前面有var声明且在函数内部为局部变量。若没有var声明直接为c = a + b;则为全局变量。
            console.log(c);结果为9输出的局部变量c
        }
        sum();
        console.log(c);结果为6.输出的全局变量c=
        
    2)    
    var a = 5;
        (function () {
            var a = 7;7为局部变量,sum函数搜索不到该变量。
            sum();
        })();
        function sum() {
            console.log(a + 4);只能搜索到全局变量5。输出结果为9.
        }
     
    2.with扩展
        
    with(document){
            write("若如霜寒,断痕兮");
            write("若如霜寒,断痕兮");
            write("若如霜寒,断痕兮");
        }简化了代码冗余类似于封装函数.
     
    3.回调函数
    eg:比较两个数的大小
        
    function reduce(a,b,sort,sort2){
            var c = a - b;
            if(c < 0){
            sort();
            }else {
                sort2();
            }
        }
        reduce(2,3,function sort(){alert("a<b");},function sort2(){alert("a>b");});
     
    4.递归函数:调用自身的函数.
    eg:   
    function print(num) {
            num++;
            if(num < 5) {
                print(num);
            }
            console.log(num);
        }
        print(1);结果为5,4,3,2.
     
    5.匿名函数
    eg: (function(){})();表达式函数,自动启动的函数.
    6.构造函数
     
    eg: 
    function Person(){
        alert("构造函数");
        }
        var m = new Person();
        console.log(m);
     
    注:构造函数主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用。构造函数名称首字母一般都大写。
    7.扩展一
        
    function dog(){};
        dog.play =  function (){
              doing = prompt("王八在不在?");
              if(doing == "不在"){
                  alert("再说一遍 ");
                  return dog.play();
              }else if(doing == ""){
                  alert("听话");
                  return dog.play();
              }else if(doing == "在"){
                  alert("嗯,乖");
              }
              else{
                  alert("狗子你变了");
              return dog.play();
              }
            alert("我们还是好朋友.");
           }
        dog.play();
    

      

     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    报告论文:数字图像噪音处理研究
    报告论文:汽车GPS调度系统车载终端设计技术方案
    疾病研究:我是一名34岁的进行性肌营养不良症患者
    08年最热门七大技术和最紧缺的IT人才
    C#序列化
    网络游戏的数据管理
    2008年3月Google占美国搜索请求量市场份额达67.3%
    C#反转字符串效率最高的方法
    何时应该使用极限编程
    几种字符串反转方法效率比较
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9375574.html
Copyright © 2020-2023  润新知