精读Javascript系列序---导读

精读Javascript系列(二)环境记录与词法环境 前言 关于变量,在Javascript核心知识体系中,占比不重,即使有些迷惑行为,也认为Javascript本应就如此,就因为下意识的草率,导致这些小问题成了日后进阶的壁障。 这里就先从两个极为经典的问题开始吧。 变量提升和暂存死区 先来两个示例: 其一:变量提升 console.log(typeof number); // undefined var number = 1000; console.log(number); // 1000 应用中,var声明的变量能够提前使用虽然只是und 阅读详情

前言

趁现在还能学习的时候学习点真正有用的东西吧。这是我从某人那里听到了这样的一句话,我决定翻一翻过去学习Javascript的导图笔记,之后发现对Javascript有了亿点点更新的认识。我很想这种心情记录下来,这就是我决定在有时间闲的蛋疼的时候写写博客的原因。

Javascript学习历程

总的来说,Javascript的学习是无止境的;不有一日对 ECMAScript规范掌握的滚瓜烂熟 ,就始终不会到达尽头;基本上我们所看到的javascript书籍,都能反映我们javascript的水平。

请看(从上到下喔):

  1. 入门类读物,例如 W3CSchoolsTutorialpointRunoob社区,基本上,最适合javascript的内容,全部被包含在这里了。
    • 在这个阶段你会以极快的速度知道javascript怎么用、如何用;甚至会接触到 document这类东西,
    • 这个阶段,内容无所谓,速度是最重要的
  2. 精读类读物,就是 javascript高程javascript权威指南这类书籍了,虽然内容有些老旧,但不乏经典,读了一遍再读一遍也会有醍醐灌顶之感,不觉乏味。
    • 当然有人会反对,高程先不说,为什么权威指南也算这个阶段的,这是因为权威指南里面包含了所有你缺乏的东西,但很遗憾,并没有人看到这点的重要性,以至于一直卡在这里
    • 这个阶段,速度无所谓,重要的是要你自己了解自己有多么无知。
  3. 参考类读物:例如 MDNMedium现代Javascript 。(实际上不止这些哈,比这多但这些绝对是知识体系足够完善的了)如果你连这些网站都觉得很陌生,这就意味着你还只是入门而已,当然,知道了也只代表你比入门强了那么一点点而已。这里面的所有东西,都远远不是刚刚读物能赶得上的。
    • 这个阶段,最重要的是,知道你过去不知道的地方,如此简单,然后你就觉得时间,仿佛无法再前进一分一秒,因为需要补充的地方太多太多。
    • 很多人都在这里倒下了。但无所谓,什么时候学习都来得及,只要你有这个心思和意志。但只要你坚持住过了这个阶段,打下了足以傲人的扎实基础,你才能真正意义上体会到Javascript世界的魅力所在。抱歉我还没体会到
  4. 自建博客: 是的没错,就是这类名不见惊传的个人博客就是进阶的关键了。基本上能够在github可以看得到。而且非常非常的分散、非常难找之极; 偶尔在大型博客里面看见,也只有区区300多个浏览量;但是相信我,绝对有去寻找的价值
    • 这类文章是最接近规范的理解了,所以不免会夹杂作者个人的偏见(这是褒义)在内,甚至还有极多自相矛盾的地方。这都无所谓,你只需要找到理解正确的部分就可以了
    • 这个阶段可能是永久的,甚至都没有到下一个阶段的可能,但是就算没前进,也觉得众人皆醉我独醒的感觉……好难受啊
    • 比较有用的参考读物,例如《你不知道的JS》,可以去看看;虽然不觉得有什么深度(因为M站就是长舌妇,不断地提不断地提……),但是知道自己不知道的东西时候还是会觉得挺高兴的。
  5. 当然是ECMA规范了。没有其他了。读懂了规范,你就能写出来javascript引擎了。

总体来说,就是这五个阶段。路的这头是你,所有人都在路的那头,因此路上只有自己。嘛,也有人说为什么JS高程只是入门书,但我也想问:知道更多自己本来应该知道的东西就那么厉害么。上面只是自己的一些浅见,我自己也是菜鸟,只是看了大佬无奈落泪有感而发,所以言辞之间有失理性,还请海涵。

最后

文章最后的废话,再重新说明下,因为是自己的笔记,所以里面的个人色彩稍重和偏见居多,必然有所谬误,还请无视之。不过我真心希望,我理解正确的地方能给予各位更多帮助。问我处于哪个阶段,啊,第二个而已,对不起,我连JS高程都没读完就大放厥词实在是对不起……

精读Javascript系列(一) 变量 、 初识词法环境 前言 其实,我觉得Javascript核心中重要的东西并非是从旧版本扩展来的高大上的语法,例如解构赋值啊、展开语法和剩余参数(嘛……虽然的确是很666),但是用好这些,其实都建立在你对变量的认识上(常有人不知道什么是左值或右值的区别)正因如此,我觉得了解一个Javascript还是从最基本做起,就是了解一下何为变量吧。 本文其实也并非完全基础,还是建立在对Javascript有一定了解之上的,至少对对象要有一定的认知。开始吧。 变量与数据 什么是变量? 越简单的问题答案往往越是让人感到意外,多数人的答案都与 阅读详情

相关推荐

精读Javascript系列(六)并发编程、 Javascript异步框架

前言 从本质上来讲,Javascript是非阻塞型单线程编程语言,因此JS自身是没有异步功能的。常说的异步,是浏览器API(WebWorker.etc)与JS强强联合实现的。与初次接触JS时不同,想要真正掌握JS的异步,就必须明白什么是JS采用的是什么并发编程框架。 实际上,JS异步已经最大程度的简化并发编程的繁杂性,基本上只要牢记异步常见套路,就能轻轻松松实现异步。 但是,套路并不适合分析,毕竟JS在实现上可不是按套路来的。因此在JS进阶这个层次,就必须完全弥补这个缺口。想要揭开JS实现异步的神秘面纱,就

krfwill的博客 966

精读 The Cost of JavaScript

点击上方“IT平头哥联盟”,选择“置顶或者星标”一起进步~学完这波,好好过周末~前言如今,JavaScript 仍然是我们向移动终端分发页面时成本最高的资源,因为它可以在很大程度上延迟页面...

画漫画的程序员∙苏南 175

精读Javascript系列(10) Promise——Promise/A+规范解读Promise

Promise简介

krfwill的博客 588

《ExtJS实用开发指南》导读

  非常有幸能成为开源人网站vifir.com顾问团队中的一员,并参与到《ExtJS实用开发指南》的审稿工作。  由于要在EasyJWeb中加入Rich Component的支持,所以花了近半个月的时间对当前一些主流的Ajax框架做了简单的了解。最终我们选择表现力非常强,并得到开源社区大力推广及应用的ExtJS框架来作为EasyJWeb中Rich Component的客户端实现。  最近读到这本《

蔡世友-重出江湖 5416

10分钟上手AlgorithmsAndDataStructuresInAction:安装、跑通测试、玩转三语言项目结构的完整教程

AlgorithmsAndDataStructuresInAction(Advanced Data Structures Implementation)是 Manning 书籍《Advanced Algorithms and Data Structures》的官方配套开源项目,用 **Java、JavaScript、Python 三语言**实现了高级数据结构与算法的完整源码,覆盖 D 叉堆、Huf

gitblog_00259的博客 744

自主智能体前沿研究指南:高效追踪与核心趋势解析

在人工智能领域,自主智能体(Autonomous Agents)作为实现机器自主决策与执行的核心技术,其研究正以前所未有的速度演进。其基本原理在于赋予AI系统感知、规划、决策和行动的能力,使其能在复杂环境中独立完成任务。这一技术的核心价值在于将大语言模型等基础能力转化为可解决实际问题的“智能工作者”,极大地提升了自动化水平与任务处理效率。当前,自主智能体的应用场景已从简单的对话和工具调用,扩展到需要长期记忆、多角色协作和高可靠性保障的复杂领域,如自动化研发、医疗辅助决策和工业流程控制。本文聚焦于如何系统性地

weixin_30457551的博客 444

React.js面试核心知识点与实战技巧

React.js作为现代前端开发的主流框架,其组件化思想和虚拟DOM技术大幅提升了开发效率和应用性能。理解React的核心原理如虚拟DOM的diff算法(采用O(n)复杂度启发式算法)和Hooks机制(如useEffect的闭包陷阱)是开发高性能应用的基础。这些技术不仅优化了渲染性能,还广泛应用于企业级应用开发中。在状态管理方面,Redux Toolkit和Context API各有适用场景,合理选择能显著提升应用的可维护性。React 18引入的useDeferredValue等新特性进一步优化了用户体验

weixin_34005090的博客 235

收益 or 挑战?Serverless 究竟给前端带来了什么

作者 |黄子毅(紫益) 阿里前端技术专家 导读前端开发者是最早享受到 “Serverless” 好处的群体,因为浏览器就是一个开箱即用、甚至无需为计算付费的环境!Serverless 把前端开发体验带入了后端,利用 FaaS 与 BaaS 打造一套开箱即用的后端开发环境。本文作者将从前端角度出发,为你讲述 Serverless 带来的收益及挑战。 引言 Serverless 是一种 ...

阿里巴巴云原生的博客 980

Axios 核心技术深度解析:从源码分析到自定义实现

本文基于Axios 1.x源码,系统解析其底层原理与核心技术。文章从源码架构分析入手,详细讲解Axios的拦截器机制、请求取消功能等实现原理,并提供完整可运行的示例代码。主要内容包括:Axios核心概念解释、运行流程分析、自定义实现核心功能(请求发送、配置合并、响应处理、超时设置、请求取消等)、拦截器深度剖析等。通过八步递进式实践路线,带领读者从基础使用到源码级实现,深入理解HTTP库设计思想。文章特别适合希望掌握Axios底层机制、提升前端架构能力的中高级开发者阅读,对面试准备和工程实践都具有重要参考价值

黄裳博客 656

Vue3(vue-next)学习资料

这篇博客记录一些我学习 vue-next 的资料,希望对大家有帮助 写这篇博客时,vue-next 还在 beta 阶段,api 等可能还会有更改,请大家注意 官方资料 git仓库地址 https://github.com/vuejs/vue-next Composition API 官方介绍 https://composition-api.vuejs.org/zh/ RFC仓库 https://github.com/vuejs/rfcs 博客 【视频】Vue.js作者尤雨溪谈Vue.

weixin_39876634的博客 597

Agent 不会「逛代码库」?给最简 ReAct 装上 Grep / Glob / 分段 Read

项目新增的代码库只读工具(Grep/Glob/Read),使Agent具备代码探索能力。

weixin_43160044的博客 309

精读Javascript系列(三) 执行上下文、 执行栈、初识事件循环

前言 这时可以接触真正实用的东西了,毕竟变量也不能代表整个Javascript语言,虽然有些不可思议,但变量的确是Javascript必经之路之一,关于变量的奇特行为数不胜数(真的是这样),不过这些我想高阶Javascript都努力回避这些,新手也不懂,所以我就跳过了。 下面的这些概念,无论是执行上下文、 还是执行栈,它在规范中的概念都很抽象,很多内容的理解实际靠的都是想象力,若有错误之处,还请指正。 执行上下文 简而言之,执行上下文(Execution Context)是正在运行的可执行代码所处环境的抽象

krfwill的博客 5056

精读Javascript系列(四)过渡篇:左值与This绑定

前言: 在前三篇中,可以将学习路线图归纳为以下: 变量与标识符 —> 词法环境与作用域 —> 词法环境与环境记录 —> 词法环境与执行上下文 执行上下文与执行栈 —> 执行栈与任务列 —> 事件循环入门 。 现在基本上可以看出,Javascript进阶的路程脉络了。所有的内容都是围绕核心进行描述总结的,并且尽可能避免知识断层或是概念套路化这种情形。否则真的,即便是尝试进阶Javascript多少次,可能也要重新来一遍喜滋滋。 我的资料大部分来自github大佬博客、ES8标

krfwill的博客 509

精读Javascript系列(七)事件循环细则 I:微任务、宏任务

前言 之前笔记扩展大量的异步基础内容,个人觉得应该是所有开发人员应该理解的,Javascript开发人员也不应该有例外。现在开始,算是正式进入Javascript的环节。例如事件循环的处理机制,微任务、宏任务…… 由于篇幅所限,暂时就录入这些吧。 开始: 事件循环 首先补充一下上次事件循环的更多细节: 事件循环开启 更新当前消息列 从当前消息列中取出任务 消息列是先入先出结构,也就是说它是按照顺取出的。 处理任务 自上而下运行JS代码 如果发出异步请求,然后将消息保存到这个新消息列(若无则新建

krfwill的博客 466

精读Javascript系列(五) 函数闭包

前言 本文专门介绍闭包,但事实上,闭包的难点并不在概念,而是在词法环境的嵌套上。只要将词法环境的嵌套关系整理清楚,闭包就瞬间被克服了。 总之,先不废话了,正文开始。 闭包 如果一个函数在定义的词法环境外运行并记住了定义时的词法环境,这样的现象就可以称作函数闭包(Function Closure) 举个简单例子: function f(x=0){ var count=x; function getCount(){ return

krfwill的博客 434

精读Javascript系列(9coll) Promise — 回调地狱、Promise构造器

前言 最后

krfwill的博客 419

精读Javascript系列(八)事件循环细则 II: NodeJS事件循环相关

前言 大部分涉及异步的文章,都非常自然的谈到了NodeJS, 虽不知这样做有何意义,总而言之努力尝试着接触了一下NodeJS…… 嘛,然后我就认识到了人不应该做不适合自己的事情。 嘛,下面的内容并非是教程,不对底层较深入的看客可以跳过的。 Javascript 与 NodeJS 异同 最近努力接触了一下NodeJS,就一下子就碰到了既深入又艰难的部分,根据NodeJS架构,可以得到NodeJS是多线程的,但是运行JS是单线程的。 参考图来源:Node架构图 由图可知,就是nodeJS的事件循环其实是基于l

krfwill的博客 402
上一篇: 建模学习小结:Astah基本使用方法
下一篇: 精读Javascript系列(一) 变量 、 初识词法环境
krfwill
博客等级 码龄11年 38粉丝 16原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值