个人自学前端11-JS4

目录

函数基础

一 函数入门

什么是函数?

一个函数就是一个功能。例如alert是一个函数,它的功能是弹出一个字符串。

函数的作用?

把重复使用的逻辑,封装成一个功能,随时取用。

学习函数天梯:

1:函数声明和调用的关系

2:函数出参

3:函数形参和实参的关系,参数默认值,arguments

4:封装函数

5:函数作用域,全局变量和局部变量。

6:函数作用域链,变量查找,变量提升

7:闭包

8:递归

1.1 函数声明

函数创建有两种写法:

函数声明和函数表达式

// 函数声明
function show (){}
// 函数表达式
let show = function(){}

没有名字的函数叫匿名函数。

函数又可以分为普通函数(ES5)和箭头函数(ES6)

匿名函数都可以通过箭头函数来书写。

函数声明不能使用箭头函数。

// 普通函数,有名字
function show(){}
// 普通匿名函数
let show = function(){}
// 箭头函数
let show = ()=>{}

1.2 函数调用

函数体内的代码不会立即运行,想要运行函数体内的代码唯一的方法就是调用函数。

有了函数调用,我们就可以选择在任何时间执行函数体内的代码。还可以重复执行。

一定是遇到了函数调用,才会执行函数体内的代码。

因此我们看代码时,看到函数声明,应该直接无视,看到了函数调用才回过头来看函数声明内的代码。

函数声明可以写在函数调用之后.但是函数表达式不能写在函数调用之后.

1.3 函数出参

函数调用也是一个表达式。函数调用表达式的返回值需要在函数中return出来。

return 的两个作用。

1:让函数调用有返回值

2:终止函数执行。

// 用变量res结束fun()的返回值
// fun()表达式的返回值就是 return 后面表达式的值 4.
let res = fun();
// 函数声明
// console.log(100)在return 后面,无法得到执行.
function fun(){
	return 1+3;
	console.log(100)
}

1.4 函数形参和实参 (噩梦的开始)

函数是一个功能,一个工具,工具应该尽可能强大。参数可以让函数更强大,更灵活。

参数可以分为形参和实参.

例如榨汁机,榨汁机的功能是把水果榨成汁,如果榨汁机只能给一种水果榨汁,肯定是不够强大的。

榨汁机可以给很多水果榨汁。那这里的水果是哪一种呢?每次榨汁时,这个水果是什么才可以确定。

这里水果就是榨汁机的形参,每次榨汁使用的水果就是实参.

// 这是一个函数,它永远提供的是3的2倍值.这是一个用处非常小的函数.
function show(){
	retrun 3*2;
}
// 这也是一个函数,它提供x的2倍值,这里因为x是可以变话的,因此次函数可以提供任意两个数的2倍值.功能强了很多
// 这个x就是函数的形参.函数的形参要写在()内.写在()内就相当于是声明了形参.
function show(x){
	retrun x*2;
}
// 以上函数声明内的x是什么,取决于我们函数调用时想得到什么数的2倍值.
// 以下调用,我们想得到3的两倍值,因此调用时()内写了个3.这里3就是实参.
let x = show(3);
// 以下调用,我们想得到4的两倍值,因此调用时()内写了个4.这里4就是实参.
let y = show(4);
// 以下调用,我们想得到11的两倍值,因此调用时()内写了个11.这里11就是实参.
let z = show(11);

//--------------------------------------------------------------------------
// 用榨汁机的伪代码来解释形参和实参
function 榨汁机(水果){
    return 水果的汁
}
// 第一次使用榨汁机,实参是橘子
let 果汁1 = 榨汁机(橘子);

// 第一次使用榨汁机,实参是樱桃
let 果汁2 = 榨汁机(樱桃);

// 第一次使用榨汁机,实参是柠檬
let 果汁3 = 榨汁机(柠檬);

形参和实参的关系:

形参的值,在函数调用过程中才可以确定!

函数调用时,形参会被实参赋值.

知道了形参和实参的用处,我们就可以封装函数了.(噩梦的延续)

封装函数步骤:

1:根据目的写函数调用!

2:根据调用写函数声明!

上一篇:Linux 纯CLI终端中文乱码zhcon


下一篇:Jmeter-断言