JavaScript学习系列博客_17_JavaScript中的函数的参数、返回值
数的形参(形式参数)
- 定义函数时,可以在()中定义一个或多个形参,形参之间使用英文逗号隔开;定义形参就相当于在函数内声明了对应的变量但是并不赋值,形参会在调用时才赋值。

函数的实参(实际参数)
- 调用函数时,可以在()传递实参,传递的实参会赋值给对应的形参。

- 调用函数时JS解析器不会检查实参的类型和个数。
如果实参的数量大于形参,多余实参将不会赋值

如果实参的数量小于形参,则没有对应实参的形参将会赋值undefined,如下a的值为1,形参b没有实参值为undefined;a+b结果为NaN。

- 实参可以传递任何数据类型的值,也就是说实参不仅可以是number,string这些基本数据类型,还可以是对象,函数也可以作为实参,因为函数本身也是一个对象。

执行函数b的时候把函数a作为实参传递给形参f,f就是函数a,f()就是执行函数a,和a()是一个意思,所以结果输出函数a里面执行得语句。

函数的返回值
-可以使用 return 来设置函数的返回值
在return后的语句都不会执行。

- 如果return语句后不跟任何值就相当于返回一个undefined,如果函数中不写return,也会返回undefined,return后可以跟任意类型的值(基本数据类型,对象)。
JavaScript学习系列博客_17_JavaScript中的函数的参数、返回值的更多相关文章
- JavaScript学习系列博客_16_JavaScript中的函数(Function)简介
函数(Function) - 函数也是一个对象,也具有普通对象的功能 - 函数中可以封装一些代码,在需要的时候可以去调用函数来执行这些代码:当调用函数时,函数中封装的代码会按照顺序执行. - 使用ty ...
- JavaScript学习系列博客_5_JavaScript中的强制类型转换
-强制类型转换为String 1.方式1 调用被转换数据的toString()方法 number类型值.布尔类型值.都可以调用toString()方法强制转换.但是null值和undefined值不行 ...
- JavaScript学习系列博客_21_JavaScript 变量、函数的提前声明
变量的提前声明(全局作用域) - 我们知道js的代码是自上而下执行的.如下,console.log(a)在var a=10前面,但是结果输出的是undefined. - 使用var关键字声明的变量,会 ...
- JavaScript学习系列博客_4_JavaScript中的数据类型
JavaScript中有6种数据类型 一.基本数据类型 - String 字符串 JS中的字符串需要使用引号引起来双引号或单引号都行 但是要注意的是某种引号嵌套使用的话,需要加上 \ 转义.比如说我们 ...
- JavaScript学习系列博客_19_JavaScript中方法(method)
方法 - 听了不少调用什么什么方法,所以方法究竟是啥东西? - 如果一个函数作为一个对象的属性保存,那么我们称这个函数时这个对象的方法,调用这个函数就说调用对象的方法(method). 创建一个对象 ...
- JavaScript学习系列博客_14_JavaScript中对象的基本操作
对象的基本操作 - 创建对象 - 方式一:使用new关键字调用的函数,是构造函数(constructor),构造函数是专门用来创建对象的函数. var obj = new Object(); - 方式 ...
- JavaScript学习系列博客_13_JavaScript中的对象(Object)简介
对象 对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性.除了那5种基本数据类型,就是对象. 分类:1.内建对象- 由ES标准中定义的对象,在任何的ES的实现中都可以使用- 比如:Ma ...
- JavaScript学习系列博客_12_JavaScript中的break、continue关键字
break关键字 -break关键字可以用来退出switch或循环语句 -不能在if语句中使用break和continue,但不是说if语句里面不能写break关键字,break关键字一定要包含在sw ...
- JavaScript学习系列博客_8_JavaScript中的关系运算符、赋值运算符
关系运算符 - 关系运算符用来比较两个值之间的关系的 >.<.<=.>= 先说这四个.如果关系成立则返回true,关系不成立则返回false. - 如果比较的两个值是非numb ...
随机推荐
- jmeter接口测试 -- Base64加密(函数助手添加自定义函数)
图片转码 base64 致谢参考博客: https://www.cnblogs.com/qiaoyeye/p/7218770.html https://www.cnblogs.com/lasdaybg ...
- hostapd阅读(openwrt)-2
深入追踪openwrt下的hostapd之后,发现openwrt无线管理机制格外的复杂,几乎所以的触发与回调均离不开ubus,关于ubus这里不作解释,先大概了解其用途即可(出门左转:https:// ...
- pdfmake.js使用及其源码分析
公司项目在需要将页面的文本导出成DPF,和支持打印时,一直没有做过这样的功能,花了一点时间将其做了出来,并且本着开源的思想和技术分享的目的,将自己的编码经验分享给大家,希望对大家有用. 现在是有一个文 ...
- apache 基本配置
1.1 ServerRoot 配置 [ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入.Windo ...
- 4. JSON字符串是如何被解析的?JsonParser了解一下
公司不是你家,领导不是你妈.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...
- c产生随机数(含时间种子)
有时候我们需要程序产生一个随机数. 可以用rand() 但是其实这个随机数是伪随机数,它是一个周期很长的一个值而已. 所以我们可以加入一个随机数种子srand(),这个可以取以当前时间为基准的一个值. ...
- PHP atan2() 函数
实例 通过 atan2() 函数返回两个变量的反正切: <?phpecho(atan2(0.50,0.50) . "<br>");echo(atan2(-0.50 ...
- C/C++编程笔记:C++入门知识丨认识C++的函数和对象
一. 本篇要学习的内容和知识结构概览 二. 知识点逐条分析 1. 混合型语言 C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, ...
- Android JNI之动态注册
所谓动态注册,就是不用像静态注册那样按规则严格的命名native方法,而是在加载so库的时候完成这个从Java方法到native方法的匹配工作,而这个匹配工作,需要我们写native代码来完成.下面直 ...
- Spring Cloud及微服务简介
最近在看微服务编排的东西,看到一篇入门博客,私以为不错,再次分享下:https://blog.csdn.net/w05980598/article/details/79007194 什么是微服务 微服 ...