| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Javascript 函数进阶 ——【回调函数、递归函数、闭包函数、作用域和域解析】 -> 正文阅读 |
|
[JavaScript知识库]Javascript 函数进阶 ——【回调函数、递归函数、闭包函数、作用域和域解析】 |
高阶函数是对其他函数进行操作的函数,它接收函数作为参数或将函数作为返回值输出。 函数也是一种数据类型,同样可以作为参数,传递给另外一个参数使用。 最典型的就是作为回调函数。 同理函数也可以作为返回值传递回来 一、回调函数回调函数:指的就是一个函数A作为参数传递给一个函数B,然后在B的函数体内调用函数A。此时,称函数A为回调函数。 例:
二、递归函数如果一个函数在内部可以调用其本身,那么这个函数就是递归函数。简单理解:函数内部自己调用自己, 这个函数就是递归函数。
根据用户的输入计算指定数据的阶乘:
递归输出斐波那契数列前20项:
三、作用域变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域, JavaScript根据作用域使用范围的不同,划分如下:
全局变量在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)。
局部变量在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量)
两者的区别: 全局作用域
局部作用域局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用
全局作用域和全局变量的区别此处转自:全局作用域和全局变量的区别
作用域链当在一个函数内部声明另一个函数时,内层函数只能在外层函数作用域内执行,在内层函数执行的过程中,若需要引入某个变量,首先会在当前作用域中寻找,若未找到,则继续向上一层级的作用域中寻找,直到全局作用域,称这种链式的查询关系为作用域链。
三、闭包函数闭包(closure)指有权访问另一个函数作用域中变量的函数。 简单理解就是 ,一个作用域可以访问另外一个函数内部的局部变量。
注意:由于闭包会使得函数中的变量一直被保存在内存中,内存消耗很大,所以闭包的滥用可能会降低程序的处理速度,造成内存消耗等问题。
闭包函数的实现
在 chrome 中调试闭包:
四、预解析JavaScript解析器在运行JavaScript代码的时候会进行预解析,也就是提前对代码中的var变量声明和function函数声明进行解析,然后再去执行其他的代码。
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/16 21:29:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |