文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

好程序员web前端培训分享JavaScript学习笔记闭包与继承

2023-06-03 11:56

关注

  好程序员web前端培训分享JavaScript学习笔记闭包与继承,闭包:闭包是我们函数的一种高级使用方式,在聊闭包之前我们要先回顾一下 函数

函数的两个阶段

  1. 定义阶段
  2. 调用阶段
  3. 开辟一个 存储空间
  4. 把函数体内的代码一模一样的放在这个空间内(不解析变量)
  5. 把 存储空间 的地址给函数名
  6. 按照函数名的地址找到函数的 存储空间
  7. 形参赋值
  8. 预解析
  9. 将函数 存储空间 中的代码拿出来执行(才解析变量)
  10. 按照函数名的地址找到函数的 存储空间
  11. 形参赋值
  12. 预解析
  13. 在内存中开辟一个 执行空间
  14. 将函数 存储空间 中的代码拿出来在刚刚开辟的 执行空间 中执行
  15. 执行完毕后,内存中开辟的 执行空间 销毁

函数定义阶段

函数调用阶段

重新定义函数调用阶段

function fn() {

    console.log('我是 fn 函数')}fn() 

函数执行空间

函数执行空间不销毁

function fn() {

   const obj = {

       name: 'Jack',

       age: 18,

       gender: '男'

   }

   return obj}const o = fn()

闭包

不销毁的空间

function fn() {

    return function () {}}const f = fn()

内部函数引用外部函数中的变量

function fn() {

   const num = 100

   // 这个函数给一个名字,方便写笔记   return function a() {

       console.log(num)

   }}const f = fn()

闭包的特点

  1. 作用域空间不销毁

 

  1. 可以利用闭包访问再一个函数外部访问函数内部的变量

 

  1. 保护私有变量

闭包概念(熟读并背诵全文)

继承

一个小例子

继承的作用

好程序员web前端培训分享JavaScript学习笔记闭包与继承

常见的继承方式

function Person() {

    this.name = 'Jack'}Person.prototype.sayHi = function () {

    cosnole.log('hello')}

原型继承

function Student() {}Student.prototype = new Person()

借用构造函数继承

function Student() {

    Person.call(this)}

组合继承

function Student() {

    Person.call(this)}Student.prototype = new Person

ES6 的继承

class Student extends Person {

    constructor () {

        // 必须在 constructor 里面执行一下 super() 完成继承         super()

    }}

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯