• JavaScript 函数


    一、JavaScript 函数 是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

    函数就是包裹在花括号中的代码块,前面使用了关键词 function:

     
    function functionname()
    {
    执行代码
    }

    当调用该函数时,会执行函数内的代码。

    可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

    (注意:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。)

    二、局部JavaScript变量和全局JavaScript变量

      在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数运行完毕,本地变量就会被删除。

      而在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

    三、JavaScript 变量的生存期

    JavaScript 变量的生命期从它们被声明的时间开始。

    局部变量会在函数运行以后被删除。

    全局变量会在页面关闭后被删除。

    四、向未声明的 JavaScript 变量分配值

    如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

    这条语句:carname="Volvo";  将声明一个全局变量 carname,即使它在函数内执行。

    【test】

    1.对一个数字(n)执行阶乘操作,将得到1~n 的数字乘积,通常写做3!(1X2X3或者6)。编写一个JavaScript函数,使用递归的方法计算出指定数字的阶乘。

    解:可能的解决方案之一:

     function findFactorial(n){
           if(n==0){
               return 1;
           }
           return  (n*findFactorial(n-1));
       }
        var num=findFactorial(4);  //将返回 24
        alert(num);

    2.函数如何才能修改其作用域之外的变量?编写一个函数,由1~5的数字组成的数组作为参数,调用该函数后将把其中的数字项替换成相应的字符串表示形式(也就是“one”,“two”等)

    解:如果将一个对象(如一个数组)作为函数的参数传入,那么在函数中对这个数组的修改就会反映到函数外部。针对这个问题,其中一种解决方案是:

    function makeArray(){
          var arr =[1,5,3];
           alert(arr);
           alertArray(arr);
           alert(arr);
       }
    
        function alertArray(arrOfNumbers){
            for(var i=0;i<arrOfNumbers.length;i++){
                switch (arrOfNumbers[i]){
                    case 1 :arrOfNumbers[i] = "one";
                        break;
                    case 2:arrOfNumbers[i] = "two";
                        break;
                    case 3 :arrOfNumbers[i] = "three";
                        break;http://i.cnblogs.com/EditPosts.aspx?opt=1
                    case 4:arrOfNumbers[i] = "four";
                        break;
                    case 5:arrOfNumbers[i] = "five";
                        break;
                }
            }
        }

    3.创建一个函数,它的参数是一个数据对象和一个函数,它将对这个数据对象调用该函数。http://i.cnblogs.com/EditPosts.aspx?opt=1

    解:用一个匿名函数就能够满足需求:

      function invokeFunction(dataObject,functionToCall){
           functionToCall(dataObject);
       }
        var funcCall = new Function('x','alert(x)');
        invokeFunction('hello',funcCall);
  • 相关阅读:
    Hibernate之onetoone单向外键关联Annotation
    Server2008IIS7设置引用http://www.cnblogs.com/goldnet/archive/2008/07/11/1240685.html
    wcf exceptionaction
    性能测试中考虑时间(Thinking Time)的计算方法 http://developer.51cto.com/art/200807/87478.htm
    字节流的比较
    MemorySteam读取的问题Seek方法
    C# 参考之方法参数关键字:params、ref及out 引用http://www.cnblogs.com/hunts/archive/2007/01/13/619620.html
    Equal使用的注意点
    assembly load and unload
    CreateInstance数组传递
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5515474.html
Copyright © 2020-2023  润新知