第7章 函数

学习要点:

1.函数声明

2.return返回值

3.arguments对象

函数是定义一次但却可以调用或执行任意多次的一段JS代码。函数有时会有参数,即函数被调用时指定了值的局部变量。函数常常使用这些参数来计算一个返回值,这个值也成为函数调用表达式的值。

一.函数声明

 

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。

function box() { //没有参数的函数

alert(‘只有函数被调用,我才会被之执行‘);

}

box(); //直接调用函数

function box(name, age) { //带参数的函数

alert(‘你的姓名:‘+name+‘,年龄:‘+age);

}

box(‘李炎恢‘,28); //调用函数,并传参

 

二.return返回值

 

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

function box() { //没有参数的函数

return ‘我被返回了!‘; //通过return把函数的最终值返回

}

alert(box()); //调用函数会得到返回值,然后外面输出

function box(name, age) { //有参数的函数

return ‘你的姓名:‘+name+‘,年龄:‘+age;//通过return 把函数的最终值返回

}

alert(box(‘李炎恢‘, 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));

时间: 2024-08-16 17:28:29

第7章 函数的相关文章

离散数学--第5章 函数

第5章 函数• 5.1 函数定义及其性质• 5.2 函数的复合与反函数 5.1 函数定义及其性质• 5.1.1 函数的定义– 函数定义– 从A到B的函数• 5.1.2 函数的像与完全原像• 5.1.3 函数的性质– 函数的单射.满射.双射性– 构造双射函数 满射:就是Y全用了. 单射:一对一.说明是单调的. 双射:即使单射又是满射. 1 5.2 函数的复合与反函数• 5.2.1 函数的复合– 函数复合的基本定理及其推论– 函数复合的性质• 5.2.2 反函数– 反函数存在的条件– 反函数的性质

第七章 函数

第七章  函数 7.1  函数的基础知识 要使用函数,必须完成如下工作: Ø  提供函数定义 Ø  提供函数原型 Ø  调用函数 7.1.1  函数的定义 函数总体来说可以分为两类,一类是没有返回值的,另一类是具有返回值的,两类的函数定义的格式如下 void functionName(parameterList) { statement(s) return; //可以有也可以没有 } typeName functionName(parameterList) { statement(s) retu

紫书第4章 函数和递归

1  序 系统的整理下第四章的学习笔记.同上次一样,尽量在不依赖书本的情况下自己先把例题做出来.这次有许多道题代码量都比较大,在例题中我都用纯C语言编写,但由于习题的挑战性和复杂度,我最终还是决定在第五章开始前,就用C++来完成习题.不过所有的代码都是能在C++提交下AC的. 在习题中,我都习惯性的构造一个类来求解问题,从我个人角度讲,这会让我的思路清晰不少,希望自己的一些代码风格不会影响读者对解题思路的理解. 其实在第四章前,我就顾虑着是不是真的打算把题目全做了,这些题目代码量这么大,要耗费很

Welcome to Swift (苹果官方Swift文档初译与注解三十五)---248~253页(第五章-- 函数 完)

Function Types as Return Types (函数类型作为返回值类型) 一个函数的类型可以作为另一个函数的返回值类型.可以在一个函数的返回值箭头后面写上一个完整的函数类型. 例如: 下面的例子定义了两个简单的函数,分别为stepForward 和 stepBackward.其中stepForward函数返回值比它的输入值多1,stepBackward函数返回值比它输入值少1.这两个函数的 类型都是(Int) -> Int: func stepForward(input: Int

C++ Primer学习总结 第6章 函数

第6章 函数 1.    函数最外层作用域中的局部变量不能使用与函数形参一样的名字,因为它们属于同一个作用域范围. 2.    局部静态变量的生命周期: 在整个程序的执行路径第一次经过对象定义语句时初始化,并且直到整个程序终止时才被销毁,在此期间即使对象所在函数结束执行也不会对它有影响. 3.    如果重载的函数的参数只有顶层const区别,那么是错误的: 如果有底层const区别可以算作重载. 4.    如果函数的参数要使用引用(且不会改变引用对象的值),那么应该定义成常量引用. 因为使用

《javascript语言精粹》——第4章函数

函数就是对象 [1].函数字面量即(函数表达式)包括四部分: 第一部分:保留字function: 第二部分:函数名称,可有可无: 第三部分:包围在一对小括号的一组参数,参数用逗号隔开: 第四部分:包围在一对花括号的一组语句,是函数的主体: 函数字面量可以出现在任何允许表达式出现的地方. [2].调用有四种调用模式: 除了声明时定义的形参,每个函数接收附加的的参数:this和arguments  ,this的值取决于调用的模式. 第一种:方法调用模式: var aa={ value:0, incr

C++ primer plus读书笔记——第8章 函数探幽

第8章 函数探幽 1. 对于内联函数,编译器将使用相应的函数代码替换函数调用,程序无需跳到一个位置执行代码,再调回来.因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存. 2. 要使用内联函数,需要在: 函数声明前加上关键字inline; 函数定义前加上关键字inline; 3. 程序员请求将函数作为内联函数时,编译器不一定会满足这种需求.它可能认为该函数过大或注意到函数调用了自己(内联函数不能递归). 4. 必须在声明引用变量时进行初始化 int rat = 101; int &

C++ primer plus读书笔记——第7章 函数——C++的编程模块

第7章 函数——C++的编程模块 1. 函数的返回类型不能是数组,但可以是其他任何一种类型,甚至可以是结构和对象.有趣的是,C++函数不能直接返回数组,但可以将数组作为结构或对象的组成部分来返回. 2. 在C++中括号为空意味着不指出参数.在ANSI C中,括号为空意味着不指出参数.在C++中,不指定参数列表时应该用省略号. void say_bye(…); 3.  数组名数组名解释为其第一个元素的地址有一些例外,首先,对数组名使用sizeof将得到整个数组的长度:其次,将地址运算符用于数组名时

Swift 1.1语言第7章 函数和闭包

Swift 1.1语言第7章  函数和闭包 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护.为 了解决这个问题,人们提出了函数这一概念.使用函数可以将特定功能的代码封装,然后在很多的地方进行使用.本章将会讲解函数和闭包的相关内容.本文选自<Swift 1.1语言快速入门> 7.1  函数介绍 函数是执行特定任务的代码块.使用函数会给开发这带来很多的好处.以下总结了其中两点. 1.结构鲜明,便于理解 如果在一

Welcome to Swift (苹果官方Swift文档初译与注解三十三)---235~240页(第五章-- 函数)

Default Parameter Values (参数默认值) 在定义函数的时候,你可以给任何参数定义一个默认的值,如果定义了默认值,在调用这个函数的时候,你可以忽略这个参数. 注意: 设置参数默认值的时候,需要按照函数的参数列表最后的开始,这可以确保在调用函数的时候,即使没默认值的参数也可以按顺序的对应上,也使得函数在调用的时候更加清晰. 下面的代码例子是join函数的新版本,它使用了默认参数: func join(string s1: String, toString s2: String