学习要点:
1.函数声明
2.return 返回值
3.arguments 对象
函数是定义一次但却可以调用或执行任意多次的一段 JS 代码。函数有时会有参数,即函数被调用时指定了值的局部变量。 函数常常使用这些参数来计算一个返回值, 这个值也成为函数调
用表达式的值。
一.函数声明
函数对任何语言来说都是一个核心的概念。 通过函数可以封装任意多条语句, 而且可以在任何地方、任何时候调用执行。ECMAScript 中的函数使用 function 关键字来声明,后跟一组参数
以及函数体。
function box() { //没有参数的函数
alert('只有函数被调用,我才会被之执行');
}
box(); //直接调用函数
function box(name, age) { //带参数的函数
alert('你的姓名:'+name+',年龄:'+age);
}
box('chaoyi',28); //调用函数,并传参
二.return 返回值
带参和不带参的函数, 都没有定义返回值, 而是调用后直接执行的。 实际上, 任何函数都可以通过return 语句跟后面的要返回的值来实现返回值。
function box() { //没有参数的函数
return '我被返回了!'; //通过 return 把函数的最终值返回
}
alert(box()); //调用函数会得到返回值,然后外面输出
function box(name, age) { //有参数的函数
return '你的姓名:'+name+',年龄:'+age;//通过 return 把函数的最终值返回
}
alert(box('chaoyi', 28)); //调用函数得到返回值,然后外面输出我们还可以把函数的返回值赋给一个变量,然后通过变量进行操作。
function box(num1, num2) {
return num1 * num2;
}
var num = box(10, 5); //函数得到的返回值赋给变量
alert(num);
return 语句还有一个功能就是退出当前函数, 注意和 break 的区别。 PS: break 用在循环和 switch 分支语句里。
function box(num) {
if (num < 5) return num; //满足条件,就返回 num
return 100; //返回之后,就不执行下面的语句了
}
alert(box(10));
三.arguments 对象
ECMAScript 函数不介意传递进来多少参数,也不会因为参数不统一而错误。实际上,函数体内可以通过 arguments 对象来接收传递进来的参数。
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));
我们可以利用 length 这个属性, 来智能的判断有多少参数, 然后把参数进行合理的应用。
比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数又不确定。
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));
ECMAScript 中的函数,没有像其他高级语言那种函数重载功能。
function box(num) {
return num + 100;
}
function box (num) { //会执行这个函数
return num + 200;
}
alert(box(50)); //返回结果
标签:box,function,return,函数,num,arguments,第七章 From: https://blog.51cto.com/u_16089934/6228051