zoukankan      html  css  js  c++  java
  • (八)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();
    

      

     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9375574.html
Copyright © 2011-2022 走看看