学习要点:
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)); //返回结果
相关推荐
python 零基础学习篇-Python-第七章:函数的设计和使用1-3.mp3
python 零基础学习篇-Python-第七章:函数的设计和使用4-9.mp3
第7章:函数 第8章:预处理命令 第9章:指针 第10章:数组 第11章:数组,结构体,共同体 第12章:面向对象 第13章:面向对象2 第14章:继承 第15章:多态,动态类型和动态绑定 第16章:类的初始化 第17章:分类和...
第七章:函数和lambda表达式 第八章:Python类和对象 第九章:Python异常处理机制 第十章:类特殊成员 第十一章 Python模块和包 第十二章:Python常见模块 第十三章:Tkinter 第十四章:Python文件操作 第十五章:...
第一章:C语言程序设计概述 2课时 第二章:基本数据类型与表达式 4...第七章:数组 6课时 第八章:指针 8课时 第九章:结构体数据类型与链表 6课时 第十章:共用体与枚举类型 4课时 第十一章:文件
第七章:函数。重点掌握。 第八章:用户标识符的作用域和存储类。主要掌握基本概念。 第九章:编译预处理。主要掌握§9.1~§9.2的内容。 第十章:指针。主要掌握§10.1~§10.4的内容。 第十一章:结构体与共用体和...
第 7 章:更多数据类型和运算符 第 8 章:类和对象 第 9 章:进一步了解类 第 10 章:继承、虚函数和多态性 第 11 章:C++ I/O 系统 第 12 章:异常、模板和其他高级主题 附录 A:预处理器 微软网站下载:...
语言函数库-第七章(其它函数 )
第 7 章:使用 MATLAB 编程 第 8 章:输入、输出和运算符 第 9 章:流程控制语句 第 10 章:数学函数 第11章:弦乐 第12章:情节 第 13 章:图形和图形用户界面编程 第 14 章:使用 MATLAB 进行自相关 第 15 章:...
第七章:继承与派生 第八章:多态性 第九章:群体类 第十章:群体数据的组织 第十一章:流类库与输入/输出 第十二章:异常处理 第十三章:MFC库与Windows程序开发概述 第二部分:实验指导 实验1:Visual C++...
第七章:加密-对称技术 第八章:加密-非对称技术 第九章:理想情况下基本公钥密码函数的比特安全性 第十章:数据完整性技术 第十一章:认证协议:原理篇 第十二章:认证协议:实践篇 第十三章:公钥密码的认证框架 ...
L2新财务数据函数.doc 大智慧函数速查手册.doc 大智慧常用通式源码.doc 大智慧指标的颜色函数代码.doc ...第7章:交易系统指标的编制方法.doc 第8章:公式编写实例.doc 第9章:技术分析指标精解.doc
第七章:DaeBuilder类,复杂动力学模型的辅助类,为了更好的进行最优控制算法。 第八章:casadi最优控制问题的求解。 第九章:opti堆栈是casadi的帮助类的整合:决策变量、参数、目标函数、约束、初值、求解器等
第七章:视图 第八章:集群 第十章:用户,资源文件,角色喝授权 第十一章:其他管理特性 第十二章:优化器 第十三张:其他命令 第十四章:内置函数 第十五章:DML命令 附录A:初始化参数 附录B:数据字典视图 附录C:...
第七章:复杂查询(上):多表连接技术 第八章:复杂查询(下):子查询 第二部分:用户及数据库对象 第九章:用户访问控制 第十章:Oracle的事务和锁 第十一章:索引 第十二章:约束 第十三章:视图 第十四...
第七章:高级控件的运用 第八章:文本编程与外部接口 第九章:MathScript 第十章:基于组件的程序结构 第十一章:人机交互与编程风格 第六章:属性节点、方法节点及引用 第七章:高级控件的运用 第八章:文本编程与...
这里的所有的markdown语法都是我在Mac的Typora上能完美显示的,如果有latex显示不对的地方,可能是软件...第7章:离散概率 第8章:高级计数技术 第9章:关系 第10章:图 第11章:树 第12章:布尔代数 第13章:计算模型
第七章:映射和集合类型前言:本章讲解映射和集合类型。分别从操作符,工厂函数、内建函数(BIF)和方法以及相关模块来介绍。目录 7.1映射类型:字典 1 1、字典
第7章:可判定性回顾 第8章:规约、可计算函数 第9章:递归哥德尔 第10章:不可压缩性 第11章:多项式时间 第12章:多项式规约 第13章:NP完全问题 第14章:哈密尔顿NP完全 第15章:空间复杂度 第16章:疑难性 第...
第七章:高级控件的运用 第八章:文本编程与外部接口 第九章:MathScript 第十章:基于组件的程序结构 第十一章:人机交互与编程风格 应用篇 第十二章:VI模板、设计模式、状态图 第十三章:串并口通讯、网络...