| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 【前端学习日记四】利用ECMAScript规范研究学习this指向 -> 正文阅读 |
|
[JavaScript知识库]【前端学习日记四】利用ECMAScript规范研究学习this指向 |
前言在第二节,我们深入学习了一下当js代码执行了一段可执行代码时,就会创建对应的上下文。 在之前我们详细研究了变量对象,作用域链 正文内容ECMAScript在了解this之前,我们根据其他大佬们的思路,还需要先学习一下ECMAScript是什么。
emmm看着这巨长无比的文档…(暴风哭泣)好吧,剩下的有机会再琢磨,看了好久,罗列一下我们需要知道,理解this可能会用到的几点。
而引用(Reference)类型是我们要进行学习的,它与 this 的指向有着密切的关联。 Reference类型看完了8.7中的概念,不愧是专业解释,依旧晦涩难懂,对于我这样的小白并不友好,只好继续寻找其他大佬通俗易懂的解释。
好的继续往下看,我们知道了Reference Type本身是一个三个值的组合(base(对象),reference name(属性名),strict mode flag(严格模式下为true)),举个例子:
再来一个
而且规范中还提供了获取 Reference 组成部分的方法,比如 GetBase 和 IsPropertyReference GetBase方法返回 reference 的 base value
调用 GetValue,返回的将是具体的值,而不再是一个 Reference IsPropertyReference方法如果 base value 是一个对象,就返回true 如何确定this的值有了之前那些基础知识,我们现在正式的看看这个this 高能部分!!这部分原理当时写博客也琢磨了好久 我们先引用一下文档里的东西 具体分析一步一步看
东拼西凑之后稍微理解了一点。
举例说明
示例零:这种是最常见的情况,MemberExpression 结果为 F,是一个标识符,根据文档,返回值显然是一个 Reference 类型
示例一:MemberExpression 结果为 A.B,显然是一个 Reference 类型,并且我们写的出来相关属性
然后我们判断,显然符合第一个,于是 示例三:MemberExpression 结果为 (A.bar = A.B),这是个赋值表达式 示例五:MemberExpression 结果为 (foo.bar, foo.bar),是一个逗号表达式 总结尽管ECMAScript角度来看、看晦涩难懂的官方文档是一种进度十分缓慢的学习办法,但是可以从一个十分严谨的层次去理解。通过ECMAScript的角度来理解this,更加深入与透彻,如果仅仅将this理解为调用函数的对象,我们将会有很多东西无法从逻辑上解释的通,比如示例四五和示例零虽然都指向undefined,但是原因却大不相同。 |
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 4:15:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |