函数,封装函数,形参实参,arguments储存实参,作用域(全局/局部变量),递归
发布日期:2021-06-29 02:56:16 浏览次数:2 分类:技术文章

本文共 2038 字,大约阅读时间需要 6 分钟。

目录

函数

作用:

1.简化代码
2.方便维护
3.提高开发效率
4.提高了代码的复用性,减少代码冗余
格式:

标准函数声明语句

function 函数名(参数...){
函数执行的代码 }

注意,如果使用函数声明语句这种方式声明函数,会具有函数名提升的效果

变量提升只在当前作用域(例如:开始加载页面的时候,只对全局作用域下的进行提升,因为此时函数中存储的都是字符串而已)

[注意]函数先定义后调用

分类:
1.内置函数(官方提供的函数,系统自身拥有函数)
弹出 alert();
document.write();
控制台 console.log();
整数 parseInt();
浮点数 parseFloat();
2.自定义函数
根据参数和返回值的不同,可将函数分为四种。
1.无参数无返回值
在这里插入图片描述

2.有参数无返回值

在这里插入图片描述

3.无参数有返回值

在这里插入图片描述

返回值:对函数执行完成的结果的返回。
return:结束当前函数,并将return后面的值(表达式/变量)作为函数的运行结果返回。
当我们需要对函数的运算结果进行不同的处理时,需要将函数的结果返回。

4.有参数有返回值

在这里插入图片描述

匿名函数

关键词function后没有函数,称为匿名函数(匿名函数不具有函数名提升效果,因此不能在匿名函数创建之前使用它)

这种写法是将一个匿名函数赋值给变量,这时,这个匿名函数又称函数表达式,

匿名函数不能有函数名提升会报错

有参数函数

在这里插入图片描述

这两个是对比(注意下面的a是字符串)

在这里插入图片描述若函数形参重名,使用时以最后一个形参为准

函数的传参 值传递与引用传递

参数为值传递,传递副本;

引用传递时传递地址,操作的是同一个对象

引用传递(引用传递时传递地址,操作的是同一个对象)

在这里插入图片描述

封装函数

1.确定函数的执行代码:函数体。

2.找出变量(不确定值。),将其设置为形参
3.如果需要对返回结果进行不同的处理,则定义返回值。

var arr = ["苏轼", "辛弃疾", "李白"];function joint(arr) {
var str = ""; for (var i = 0; i <= arr.length - 1; i++) {
str += arr[i]; if (i == arr.length - 1) continue; str += "|"; } return str;}alert(joint(arr));

在这里插入图片描述

调用函数

1.函数名(参数列表);

2.函数调用模式

对象调用模式

函数的返回值 return

1,如果函数有返回值,需要通过return返回;

2,如果函数不需要返回数据时,则无返回值,或者说返回undefined;

3,如果函数不需要返回值时,使用return,则表示结束方法
作用:
1,返回结果给调用者,
2,结束语句

函数的属性

【length属性】

函数的length属性表示形参个数,

arguments对象的length属性表示实参的个数

【name属性】

可以访问到函数指定的名字

匿名函数的name属性为空

例子:定义一个函数,参数的数量不固定,

function joint() {
var str = arguments[0]; for (var i = 1; i < arguments.length; i++) {
str = Number( str + arguments[i]) ; } document.write(str); } joint(1, 2,6, 3,4)

在这里插入图片描述

在这里插入图片描述

作用域

变量存在的范围

全局变量
直接写在Script标签中的变量,在页面中的任意位置都可以访问到。
在页面打开创建,在页面关闭时销毁。
局部变量
局部变量是定义在函数内部的变量.这个变量只能在函数内使用.例外,函数中的
形参也是局部变量.
每一次调用时创建,调用结束会销毁。

【注意】

如果局部变量与全局变量重名,则使用局部变量。若函数内部没有找到该变量,则去全局变量中查找。

在函数定义变量时,若没有加var关键字,使用后自动变为全局变量

上述例子你如果加了var 就会报错为未定义

例子

下面这个例子是说标准的命名函数可以在没有这个函数时调用(命名函数有函数名提升),但是要注意赋值时,要在调用前就将值赋好

作用域链就是寻找变量时找不到会一级一级往上寻找

在这里插入图片描述

递归

函数之间可以互相调用,如果函数内部调用了其自身,则我们称其为递归调用。

特点:

1.函数自己调用自己
2.一般情况下还有参数
3.一般情况下有返回值.

方法:

1.找这一次计算与上一次计算的关系。
2.调用自身
3。找到函数结束的条件。

转载地址:https://blog.csdn.net/z18237613052/article/details/112245754 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:对象object,Math对象(运算的方法),Date日期对象方法
下一篇:数组array、数组方法,二维数组,冒泡/选择排序

发表评论

最新留言

不错!
[***.144.177.141]2024年04月07日 19时30分48秒