js学习笔记8
- 函数声明: js 引擎会有一个 函数声明提升的操作,因为函数声明提升的特性 可以把函数声明放在调用之后。可以先调用后声明。
- 创建一个函数并将它赋值给变量 functionName 。这种情况下创建的函数叫做匿名函数。因为 function 关键字后面没有标识符。 匿名函数的 name 属性是空字符串。
- 函数表达式在使用前必须先赋值。
- 能够创建函数在赋值给变量,也就能把函数胡作为其他函数的返回值返回。
- 递归函数是一个函数通过名字调用自身的情况构成的。 使用 arguments.callee() 方法可以消除耦合。
- 闭包是指有权访问另一个函数作用域中的变量的函数。 即在函数内部创建另一个函数。
- 当某个函数被调用时会创建一个执行环境及相应的作用域链,为读取和写入变量的值就需要在作用域链中查找变量。
- 变量对象:后台的每个执行环境都有一个表示变量的对象。 作用域链本质上是指向变量对象的指针列表。
- 一般,当函数执行完毕后,局部活动对象会被销毁。内存中仅保存全局作用域,但是闭包函数会将外部函数的活动对象添加到它的作用域链中,所以外部函数执行结束之后,他的作用域链会销毁但是活动对象仍在内存中,知道闭包函数销毁。
- 闭包只能取得包含函数中任何变量的最后一个值,因为闭包保存的是整个变量对象,而不是某个特殊的变量。
- this 对象是在运行时基于函数的执行环境绑定的。
- 闭包函数的执行环境具有全局性,因此闭包函数的 this 指向 window。
欺骗自己最简单,欺骗自己最困难。
安慰自己最简单,安慰自己最困难。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】