标签:
通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。
<script type="text/javascript"> function box(){ //函数的声明 alert("只有调用的时候才会执行"); //函数本身没有运行功能 //必须调用才能执行 } box(); //调用 <script>
<script type="text/javascript"> function box(name,age){ alert("你的姓名是"+name+","+"你的年龄是"+age); } box("李好","20"); //调用函数,并传参数 <script>
带参和不带参的函数,都没有定义返回值,而是调用后直接执行的。实际上,任何函数都可以通过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>
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