码迷,mamicode.com
首页 > 其他好文 > 详细

关于函数

时间:2016-02-16 00:00:50      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:

通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

  • 函数声明:
<script type="text/javascript">
function box(){     //函数的声明
    alert("只有调用的时候才会执行");   //函数本身没有运行功能
                                   //必须调用才能执行
    }
     box();  //调用
<script>
  • 有参数的函数声明:
<script type="text/javascript">
    function box(name,age){
    alert("你的姓名是"+name+","+"你的年龄是"+age);
    }
    box("李好","20");    //调用函数,并传参数
<script>

 

  • return返回值

带参和不带参的函数,都没有定义返回值,而是调用后直接执行的。实际上,任何函数都可以通过return语句跟后面的要返回的值来实现返回值。

<script type="text/javascript">
  function box(){
    return "我只有调用的时候才会执行";  //return表示把这句话字符串返回回来
    }
    alert(box());      //调用,打印出函数调用返回过来的结果



//带参数函数通过return返回
 function box(name,age){
    return "你的姓名是"+name+","+"你的年龄是"+age ;
    }
    alert(box("李好","20"));   

<script>

把函数的返回值赋给一个变量,然后通过变量进行操作。

<script type="text/javascript">

function box(name,age){
    return "你的姓名是"+name+","+"你的年龄是"+age ;
    }
    var newBox=box("李好","20");  //函数得到的返回值赋值给变量
    alert(newBox)
</script>

return语句还有一个功能就是退出当前函数,注意和break的区别,break用在循环和swith分支语句里。

 

<script type="text/javascript">
function box(num) {    
    if (num < 5)  return num;        //满足条件,就返回num
    return 100;                    //返回之后,就不执行下面的语句了
    }
alert(box(10));

</script>

 

 

  • arguments对象

ECMAScipt函数不介意传递进来多少参数,也不会因为参数不统一而错误,实际上,函数体内可以通过arguments对象来接收传递进来的参数。

<script type="text/javascript">

function box() {
    return arguments[0]+‘ | ‘+arguments[1];        //得到每次参数的值
}
alert(box(1,2,3,4,5,6));                        //传递参数



//arguments对象的length属性可以得到参数的数量。

function box() {
    return arguments.length;                    //得到6
}
alert(box(1,2,3,4,5,6));
</script>

实现一个加法运算,将所有传进来的数字累加.

<script type="text/javascript">
function box() {
    var sum = 0;
    if (arguments.length == 0) return sum;        //如果没有参数,退出
    for(var i = 0;i < arguments.length; i++) {    //如果有,就累加
        sum = sum + arguments[i];
    }
    return sum;                              //返回累加结果
}
alert(box(5,9,12));

</script>

 

ECMAScript中的函数,没有重载功能。

<script type="text/javascript">
function box(num) {
    return num + 100;
}
function box (num) {                        //会执行这个函数
    return num + 200;
}
alert(box(50));                             //返回结果
</script>    

 

关于函数

标签:

原文地址:http://www.cnblogs.com/sosomark/p/5191465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!