1、函数声明:通过函数可封装任意多条语句,且可在任意地方、任何时候调用执行。
eg. function box(){//无参函数
    
alert("只有函数被调用,我才会被执行");
    }
  
    box(); //直接调用函数
eg.  function box(name,age){//带参函数
     alert("姓名:"+name+",年龄:"+age);
   
    }
    box("张三",19);//传参调用函数
2、return返回值:带参或不带参的函数都没有定义返回值,而是调用函数直接执行。事实上任何函数都可通过return语句跟后面要返回的值来实现返回值。
eg. function box(){//无参函数
    
return("我被返回了");
    }
  
    alert(box()); //直接调用函数得到返回值并输出
eg.  function box(name,age){//带参函数
     return("姓名:"+name+",年龄:"+age);
   
    }
    alert(box("张三",19));//传参调用函数得到返回值并输出
eg. function box(num1,num2){//函数将返回值赋给变量,通过变量进行操作
    return num1 * num2;
    }
var num = box(10,5);//函数得到的返回值赋给变量
alet(num);//50
eg. function box(num){//此处的return可退出当前函数
    if( num < 5) return num; //满足条件才返回num,此时num=10,不会小于5,所以返回100
     return 100;  //第一个操作数为false,直接返回地二个操作数。
    }
   alert(box(10)); //100
3、arguments对象:通过该对象接受传递过来的参数,不论多少也不论是否统一
eg. function box(){
    return arguments[0]+'|'[+arguments[1]];//得到每次参数的值 1|2
  }
  
  alert(box(1,2,3,4,5,6));//传递参数后结果是 1|2
eg. function box(){
    return arguments.length;//length属性得到参数数量6
  }
  
  alert(box(1,2,3,4,5,6));
eg.length属性扩展运用
    function box4() {
          var sum = 0;
          if (arguments.length == 0) return sum;//若是没有参数,直接退出函数
          for (var i = 0; i < arguments.length; i++) {//如果有参数就循环叠加,最后输出总和
            sum = sum + arguments[i];
          }
          return sum;
        }
        alert(box4(2,6,9));//17
eg.  function box5(su) {
          return su + 100;
        }
     function box5(su) { //会执行这个函数,没有函数重载功能
          return su +50;
        }
        alert(box5(150));//200
eg1. var getName = function(){
alert(1);
    }
   
    function getName(){
      alert(2);
   }
    getName();//1
对比
eg2.  function getName(){
      alert(2);
   }
   var getName = function(){
alert(1);
    }
   getName();//1
eg1.和eg2.两次结果都是1说明声明式函数会被提前声明和定义,且在执行过程中可重新赋值
05-11 22:45