`
chaoyi
  • 浏览: 290956 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

第七章:函数

阅读更多

学习要点:
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-第七章:函数的设计和使用1-3.mp3

    python 零基础学习篇-Python-第七章:函数的设计和使用4-9.mp3

    python 零基础学习篇-Python-第七章:函数的设计和使用4-9.mp3

    IOS开发入门经经典

    第7章:函数 第8章:预处理命令 第9章:指针 第10章:数组 第11章:数组,结构体,共同体 第12章:面向对象 第13章:面向对象2 第14章:继承 第15章:多态,动态类型和动态绑定 第16章:类的初始化 第17章:分类和...

    python详细学习教程.rar

    第七章:函数和lambda表达式 第八章:Python类和对象 第九章:Python异常处理机制 第十章:类特殊成员 第十一章 Python模块和包 第十二章:Python常见模块 第十三章:Tkinter 第十四章:Python文件操作 第十五章:...

    C语言第一章概述

    第一章:C语言程序设计概述 2课时 第二章:基本数据类型与表达式 4...第七章:数组 6课时 第八章:指针 8课时 第九章:结构体数据类型与链表 6课时 第十章:共用体与枚举类型 4课时 第十一章:文件

    C语言程序设计考试大纲及试题类型2010级

    第七章:函数。重点掌握。 第八章:用户标识符的作用域和存储类。主要掌握基本概念。 第九章:编译预处理。主要掌握§9.1~§9.2的内容。 第十章:指针。主要掌握§10.1~§10.4的内容。 第十一章:结构体与共用体和...

    C++ Beginer&amp;#039;s Guide by Herbert Schildt (C++ 初学者指南)

    第 7 章:更多数据类型和运算符 第 8 章:类和对象 第 9 章:进一步了解类 第 10 章:继承、虚函数和多态性 第 11 章:C++ I/O 系统 第 12 章:异常、模板和其他高级主题 附录 A:预处理器 微软网站下载:...

    语言函数库-第七章(其它函数)

    语言函数库-第七章(其它函数 )

    MATLAB 初学者使用 MATLAB 编程 编程和问题解决的实用介绍

    第 7 章:使用 MATLAB 编程 第 8 章:输入、输出和运算符 第 9 章:流程控制语句 第 10 章:数学函数 第11章:弦乐 第12章:情节 第 13 章:图形和图形用户界面编程 第 14 章:使用 MATLAB 进行自相关 第 15 章:...

    C++语言程序设计习题与实验指导

    第七章:继承与派生 第八章:多态性 第九章:群体类 第十章:群体数据的组织 第十一章:流类库与输入/输出 第十二章:异常处理 第十三章:MFC库与Windows程序开发概述 第二部分:实验指导 实验1:Visual C++...

    Modern Cryptography : Theory and Practice

    第七章:加密-对称技术 第八章:加密-非对称技术 第九章:理想情况下基本公钥密码函数的比特安全性 第十章:数据完整性技术 第十一章:认证协议:原理篇 第十二章:认证协议:实践篇 第十三章:公钥密码的认证框架 ...

    大智慧公式编辑教程 一步一步讲解 L2新财务数据函数

    L2新财务数据函数.doc 大智慧函数速查手册.doc 大智慧常用通式源码.doc 大智慧指标的颜色函数代码.doc ...第7章:交易系统指标的编制方法.doc 第8章:公式编写实例.doc 第9章:技术分析指标精解.doc

    casadi说明文档简介

    第七章:DaeBuilder类,复杂动力学模型的辅助类,为了更好的进行最优控制算法。 第八章:casadi最优控制问题的求解。 第九章:opti堆栈是casadi的帮助类的整合:决策变量、参数、目标函数、约束、初值、求解器等

    ORACLE+DBA必备技能详解.pdf

    第七章:视图 第八章:集群 第十章:用户,资源文件,角色喝授权 第十一章:其他管理特性 第十二章:优化器 第十三张:其他命令 第十四章:内置函数 第十五章:DML命令 附录A:初始化参数 附录B:数据字典视图 附录C:...

    oracle11g

    第七章:复杂查询(上):多表连接技术 第八章:复杂查询(下):子查询 第二部分:用户及数据库对象 第九章:用户访问控制 第十章:Oracle的事务和锁 第十一章:索引 第十二章:约束 第十三章:视图 第十四...

    LabVIEW宝典课件

    第七章:高级控件的运用 第八章:文本编程与外部接口 第九章:MathScript 第十章:基于组件的程序结构 第十一章:人机交互与编程风格 第六章:属性节点、方法节点及引用 第七章:高级控件的运用 第八章:文本编程与...

    离散数学应用学习笔记.zip

    这里的所有的markdown语法都是我在Mac的Typora上能完美显示的,如果有latex显示不对的地方,可能是软件...第7章:离散概率 第8章:高级计数技术 第9章:关系 第10章:图 第11章:树 第12章:布尔代数 第13章:计算模型

    《python核心编程》第七章:映射和集合类型1

    第七章:映射和集合类型前言:本章讲解映射和集合类型。分别从操作符,工厂函数、内建函数(BIF)和方法以及相关模块来介绍。目录 7.1映射类型:字典 1 1、字典

    计算机引论导引

    第7章:可判定性回顾 第8章:规约、可计算函数 第9章:递归哥德尔 第10章:不可压缩性 第11章:多项式时间 第12章:多项式规约 第13章:NP完全问题 第14章:哈密尔顿NP完全 第15章:空间复杂度 第16章:疑难性 第...

    LabVIEW宝典课件.ppt

    第七章:高级控件的运用 第八章:文本编程与外部接口 第九章:MathScript 第十章:基于组件的程序结构 第十一章:人机交互与编程风格 应用篇 第十二章:VI模板、设计模式、状态图 第十三章:串并口通讯、网络...

Global site tag (gtag.js) - Google Analytics