zoukankan      html  css  js  c++  java
  • Javsscript函数的定义方法

     函数是Javascript的最重用的内容,首先,要知道函数也是一个对象,要使用函数,一般要先定义,那么定义的方法有几种呢?可以分为两种:语句定义和表达式定义。使用最普遍的使用function语句。
    例如1.1:
        function sayHello(){
          document.write("say,Hello!");
        }
    函数的三要素:函数名,函数体,函数值。
    由于1.1没有return语句,它的返回值即函数值是undefined。
    例如1.2:
        function add(x,y){
          return x+y;
        }
    此函数的功能是求两个数之和,函数值是返回两个数之和,函数值类型是number。
    第二中函数定义方式有两种方法:
    1:)使用Function构造函数定义
         var distance=new Function("x1","y1","x2","y2","var dx=x2-x1;var dy=y2-y1;return Math.sqrt(dx*dx,dy*dy)");
        从此形式上,可知道这是一个表达式。
        使用Function构造函数要注意:该函数可接任意个字符串参数,其最后一个参数是函数的主体,其余的都是参数。
    在此处,使用了new,该保留字是用来新建一个对象的。由此可验证前面说到的函数是一个对象。该函数没有名字,古它是个匿名函数,变量distance只是对此函数的引用,即distance是引用变量。
       使用此方法的好处是:可以动态的建立函数和编译函数,不需预编译。缺点是:每次使用都需要编译它。所有建议频繁使用的函数不要使用此方法,效率低。
    2:)函数直接量
        函数直接量与function语句相似。它创建一个匿名函数,然后,使用一个引用变量指向它。函数直接量只被解析和编译一次。
        var f2=function(x,y){return x*x+y*y;}
        注意也可指定函数名如
        var f3=function fact(n){if(x<=1) return 1;else return n*fact(n-1);}//定义一个函数并保存它
        指定函数名方便递归调用。
        合适情景:使用一次的函数,而且,无需命名的函数,可用此定义方法。
        匿名函数:
        var sum=(function(x,y,z) {return x+y+z;})(12,23,34);//定义并调用一个函数
        a.sort(function(a,b){return a-b;});//定义一个函数并传递给另一个函数

  • 相关阅读:
    700.二叉搜索树中的搜索
    645.错误的集合
    567.字符串的排列
    560.和为K的子数组
    518.零钱兑换 II
    516.最长回文子序列
    509.斐波那契数
    503.下一个更大元素 II
    496.下一个更大元素 I
    leetcode 1171 Remove Zero Sum Consecutive Nodes from Linked List
  • 原文地址:https://www.cnblogs.com/rhinemetal/p/2568544.html
Copyright © 2011-2022 走看看