2019-03-23


第三章 函数

函数的定义与调用

变量的作用域

函数匿名

嵌套与递归

包含函数

了解JS就让我们从最基本的开始!

函数的定义与调用

1.函数声明和定义

JavaScript 使用关键字function定义函数。

被赋值给一个变量

被赋值为对象的属性

作为参数被传入别的函数

作为函数的结果被返回

用字面量来创建

函数可以通过声明定义,也可以是一个表达式。

函数的定义由以下4部分组成:关键字function、函数名、参数和函数体

(1)参数设置

有参函数:适用于不需要提供任何数据,即可完成指定功能的情况

无参函数:适用于开发时函数体内的操作需要用户传递数据的情况

获取函数调用时传递的所有实参:适用于开发时函数体形参不确定的情况

(2)函数的调用

当定义完成之后,要在程序中发挥作用,就要调用这个函数。过程很简单,只需要引用函数名,并传入相应的参数即可。

2.变量的作用域

(1)局部作用域

变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

(2)全局变量:变量在函数外定义,即为全局变量。

全局变量有全局作用域: 网页中所有脚本和函数均可使用。

(3)块级变量:ES6提供的let关键字声明的变量称为块级变量,仅在“{}”中间有效,如if、for或while语句等。

3,匿名函数

(1)函数表达式

指的是将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递,是JavaScript中另一种实现自定义函数的方式。

(2)匿名函数

匿名函数指的是没有函数名称的函数

可以有效的避免全局变量的污染以及函数名的冲突问题。


箭头函数:ES6中引入了一种新的语法编写匿名函数,我们称之为箭头函数。

一个箭头函数表达式的语法比一个函数表达式更短。

基本用法:

当箭头函数没有参数或者有多个参数,要用 () 括起来。

当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。

当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来


(3)回调函数

回调函数指的是一个函数A作为参数传递给一个函数B,然后在B的函数体内调用函数A。函数A称为回调函数。

4.嵌套和递归

(1)嵌套函数

在一个函数内部存在另一个函数的声明

(2)递归调用

递归调用是函数嵌套调用中一种特殊的调用。它指的是一个函数在其函数体内调用自身的过程。

5.闭包函数

(1)什么是闭包函数?

有权访问另一函数作用域内变量(局部变量)的函数,也就是闭包由函数以及创建该函数的词法环境组合而成。

可以在函数外部读取函数内部的变量。可以让变量的值始终保持在内存中。

(2)闭包函数的实现

你可能感兴趣的:(2019-03-23)