JavaScript核心高级内容复习2-1
创始人
2025-06-01 06:25:07
0

文章目录

  • 本节概述
    • 1、原型与原型链
    • 2、执行上下文与执行上下文栈
    • 3、作用域与作用域链
  • 详细讲解
    • 原型(prototype)
    • 显式原型与隐式原型
    • 原型链
    • 原型链_属性问题
    • 探索instanceof
    • 原型与原型链面试题
    • 变量提升与函数提升
    • 执行上下文
    • 执行上下文栈
    • 执行上下文栈2
    • 执行上下文与执行上下文栈面试题
    • 作用域
    • 作用域与执行上下文
    • 作用域链
    • 作用域_面试题

本节概述

1、原型与原型链

  • 所有函数都有一个特别的属性:
    • prototype : 显式原型属性
  • 所有实例对象都有一个特别的属性:
    • __proto__ : 隐式原型属性
  • 显式原型与隐式原型的关系
    • 函数的prototype: 定义函数时被自动赋值, 值默认为{}, 即用为原型对象
    • 实例对象的__proto__: 在创建实例对象时被自动添加, 并赋值为构造函数的prototype值
    • 原型对象即为当前实例对象的父对象
  • 原型链
    • 所有的实例对象都有__proto__属性, 它指向的就是原型对象
    • 这样通过__proto__属性就形成了一个链的结构---->原型链
    • 当查找对象内部的属性/方法时, js引擎自动沿着这个原型链查找
    • 当给对象属性赋值时不会使用原型链, 而只是在当前对象中进行操作

2、执行上下文与执行上下文栈

  • 变量提升与函数提升
    • 变量提升: 在变量定义语句之前, 就可以访问到这个变量(undefined)
    • 函数提升: 在函数定义语句之前, 就执行该函数
    • 先有变量提升, 再有函数提升
  • 理解
    • 执行上下文: 由js引擎自动创建的对象, 包含对应作用域中的所有变量属性
    • 执行上下文栈: 用来管理产生的多个执行上下文
  • 分类:
    • 全局: window
    • 函数: 对程序员来说是透明的
  • 生命周期
    • 全局 : 准备执行全局代码前产生, 当页面刷新/关闭页面时死亡
    • 函数 : 调用函数时产生, 函数执行完时死亡
  • 包含哪些属性:
    • 全局 :
      • 用var定义的全局变量 ==>undefined
      • 使用function声明的函数 ===>function
      • this ===>window
    • 函数
      • 用var定义的局部变量 ==>undefined
      • 使用function声明的函数 ===>function
      • this ===> 调用函数的对象, 如果没有指定就是window
      • 形参变量 ===>对应实参值
      • arguments ===>实参列表的伪数组
  • 执行上下文创建和初始化的过程
    • 全局:
      • 在全局代码执行前最先创建一个全局执行上下文(window)
      • 收集一些全局变量, 并初始化
      • 将这些变量设置为window的属性
    • 函数:
      • 在调用函数时, 在执行函数体之前先创建一个函数执行上下文
      • 收集一些局部变量, 并初始化
      • 将这些变量设置为执行上下文的属性

3、作用域与作用域链

  • 理解:
    • 作用域: 一块代码区域, 在编码时就确定了, 不会再变化
    • 作用域链: 多个嵌套的作用域形成的由内向外的结构, 用于查找变量
  • 分类:
    • 全局
    • 函数
    • js没有块作用域(在ES6之前)
  • 作用
    • 作用域: 隔离变量, 可以在不同作用域定义同名的变量不冲突
    • 作用域链: 查找变量
  • 区别作用域与执行上下文
    • 作用域: 静态的, 编码时就确定了(不是在运行时), 一旦确定就不会变化了
    • 执行上下文: 动态的, 执行代码时动态创建, 当执行结束消失
    • 联系: 执行上下文环境是在对应的作用域中的

详细讲解

原型(prototype)



显式原型与隐式原型



原型链



原型链_属性问题



探索instanceof



原型与原型链面试题


变量提升与函数提升



执行上下文



执行上下文栈


执行上下文栈2



执行上下文与执行上下文栈面试题


作用域



作用域与执行上下文



作用域链



作用域_面试题


相关内容

热门资讯

西藏丁青县发生山体滑坡,致3人... 新华社拉萨6月2日电 6月1日21时30分许,西藏自治区昌都市丁青县木塔乡虫草采挖点发生一起山体滑坡...
应急管理部调度指导西藏丁青县山... 6月1日21时30分许,西藏自治区昌都市丁青县木塔乡虫草采挖点发生一起山体滑坡事件。据昌都市木塔乡山...
推荐好的童话书?? 推荐好的童话书??格林童话伊索寓言《金驴记》《一千零一夜》《吸血鬼的故事》《彼勒与大龙》
韩国第21届大选明日举行,一文... 转自:上观新闻韩国第21届总统大选正式投票将于当地时间6月3日举行,投票将从当地时间6时开始,20时...
黄力晨:美国关税政策司法拉锯 ... 6月2日,上周五我们认为,美国上诉法院,暂时搁置禁止加征关税的行政令的裁决,再度吸引避险买盘,推动金...
大摩:美联储降息将超过市场预期... 格隆汇6月2日|摩根士丹利研究公司的Vishwanath Tirupattur和Serena Tan...
应急管理部调度指导西藏昌都市丁... 转自:中华人民共和国应急管理部6月1日21时30分许,西藏昌都市丁青县木塔乡虫草采挖点发生一起山体滑...
2025年5月:我国机场100... 来源:民航之翼最近,CADAS公布了2025年5月份我国机场客运数据。2025年5月,全国机场:客运...
北京中关村京西人工智能科技园一... 产业园区近日,中关村(京西)人工智能科技园一期在北京正式竣工,总建筑面积达31万平方米。中关村(京西...
刚刚,秦皇岛发生地震! 转自:天津日报中国地震台网正式测定:06月02日17时35分在河北秦皇岛市卢龙县(北纬39.96度,...
谁被老师体罚过?怎么体罚的? 谁被老师体罚过?怎么体罚的?肯定都被体罚过吧最常见的就是罚站、罚写作业粗暴一点的,直接动手揍一顿只能...
革命历史人物传记电影《高克谦》... 转自:河工新闻网  河工新闻网讯(记者刘艳惠)5月30日,“薪火百年映初心”——革命历史人物传记电影...
西游记是中国古代第一部什么小说 西游记是中国古代第一部什么小说好像是长篇章回体白话文浪漫主义神魔小说。我是个中学生。是中国古代第一部...
在华外企加码中国市场 愿与中国... 我们在华业务的腾飞是和中国经济的发展同步的。我们非常自豪参与了中国造船工业快速发展的阶段。”挪威船级...
打工人身上出现了哪些信号说明该... 打工人身上出现了哪些信号说明该休息了?出现了头晕,烦躁,失眠,高血压,心脏不舒服,经常感到头疼,就应...
小说红高粱主要人物形象分析 小说红高粱主要人物形象分析个人感觉蛮有趣
动漫 斗破苍穹之大主宰和大主宰... 动漫 斗破苍穹之大主宰和大主宰?这两个动漫有啥区别万都看完了内容都差不多一样,2019年出的一个更新...
我爱阅读手抄报内容 我爱阅读手抄报内容  我爱阅读手抄报读书之乐乐何如,绿满窗前草不除;读书之乐乐陶陶,起弄月明露天高。...
有人干过物业经理吗? 有人干过物业经理吗? 物业经理主要从事物业方面的工作,如果你想应聘物业经理的话,可以直接打物业部门...
性别文化与教育 性别文化与教育从社会性别视角,重新审视我们的教育活动(包括家庭教育、学校教育和社会教育等),研究揭示...