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();
    

      

     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    JavaScript Eval 函数使用
    WPFToolkit Calendar & DatePicker 使用介绍
    Windows Mobile 6.5 配置环境,数据库访问,部署简单实例
    ThreadPool.QueueUserWorkItem 方法 (WaitCallback)
    Windws Mobile 6.5 Professional ADO.NET数据访问
    WPF调用Web Services
    c#中Interface的理解
    PagesSection.MaintainScrollPositionOnPostBack 属性
    EclipseRCP中文语言包版本不一致,导致导出错误
    SWT美化开源控件网站
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9375574.html
Copyright © 2011-2022 走看看