New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JavaScript深入系列15篇正式完结! #17

Open
mqyqingfeng opened this Issue May 26, 2017 · 62 comments

Comments

Projects
None yet
@mqyqingfeng
Owner

mqyqingfeng commented May 26, 2017

写在前面

JavaScript 深入系列共计 15 篇已经正式完结,这是一个旨在帮助大家,其实也是帮助自己捋顺 JavaScript 底层知识的系列。重点讲解了如原型、作用域、执行上下文、变量对象、this、闭包、按值传递、call、apply、bind、new、继承等 JS 语言中的比较难懂的概念。

JavaScript 深入系列自 4 月 6 日发布第一篇文章,到 5 月 12 日发布最后一篇,感谢各位朋友的收藏、点赞,鼓励、指正。

顺便宣传一下该博客的 Github 仓库:https://github.com/mqyqingfeng/Blog,欢迎 star,鼓励一下作者。

而此篇,作为深入系列的总结篇,除了汇总各篇文章,作为目录篇之外,还希望跟大家聊聊,我为什么要写这个系列?

我为什么要写深入系列?

讲一个对我学技术的态度很有影响的一件事情。

曾经团队邀请过 Nodejs 领域一个非常著名的大神来分享,这里便不说是谁了。当知道是他后,简直是粉丝的心情。但是课讲得确实一般,也许是第一次讲,准备不是很充足吧,以至于我都觉得我能讲得比他好,但是有两次,让我觉得这是真正的大神。一次就是,当有同事问到今年有什么流行的前端框架吗?这些框架有怎样的适用场景?该如何抉择?我以为大神一定会回答当时正火的 React、以及小鲜肉 Vue 之类,然后老生常谈的比较一番,但是他回答道:“I dont't care!因为这些并不重要,真正重要的是底层,当你了解了底层,你就能很轻松的明白这些框架的原理,当你明白了原理,这些框架又有什么意思呢?”

虽然这段话因为过去太久,已经不记得确切的表述,但是给了我非常深刻的印象,自己一路学习过来,新的东西不停的冒出,但是学的再多感觉自己也只是学了一堆 API,如果仅仅是为了解决工作上的问题,或许已经足够,但是内心经常还会冒出一种不安定感,这种不安定感或许来自于对 JavaScript 未知部分的恐惧,或许来自于解决问题却不明所以的尴尬,或许来自于屡次学习语言难点却不得门道的失败……代码写的越久,这种感觉就越是鲜明。

当然了,大家也不要过分解读底层,各种计算机语言追究到底层都是编译原理之类,如果是有这方面的兴趣,固然可以,但是如果本质上还是为了解决上层问题,倒不必一定要深究到这个层面。用 JavaScript 了解这门语言本身的使用和原理,用 jQuery 看看 jQuery 的源码实现,用 React 技术栈,写写 React、Redux 简单的模拟实现,诸如此类,都是对底层的一种追求。

这样讲的话,底层这个词,更像是一个方向,一种学习的态度吧。

为了更加深入的了解 JavaScript 这门语言,我将之前记录的一些要学习的关键词作为课题进行研究,后来研究的差不多了,才决定动笔写下这个系列。尽管这个系列很多地方上依然不够所谓的“深入”,但就跟学习这些内容之前的我相比,已然多了份安定感,解决一些问题时也多了份得心应手,也希望大家能从这个系列中有所收获。

然而即便已经写了 15 篇,也只是漫长路途的开始,在我 Github 博客仓库的描述中有写到,我预计写 4 个系列,JavaScript 深入系列,JavaScript 专题系列,ES6 系列,React 系列,其实从“深入系列”到“专题系列”再到“ React 系列”,就是原来写着上层的我决定从语言层面开始一步一步走回上层的记录,而现在,我也只是迈出了第一步。

重新修订

在发布完最后一篇后,我花了一周时间,根据大家的评论和留言,并且参照阮一峰老师的《中文技术文档的写作规范》对所有的文章进行了一次修订。

说起来,改的最多的就是给英文单词两边加个空格……

此外,大家有疑问或指正或鼓励或感谢,尽管留言回复哈 []~( ̄▽ ̄)~* 。

全目录

  1. JavaScirpt深入之从原型到原型链
  2. JavaScript深入之词法作用域和动态作用域
  3. JavaScript深入之执行上下文栈
  4. JavaScript深入之变量对象
  5. JavaScript深入之作用域链
  6. JavaScript深入之从ECMAScript规范解读this
  7. JavaScript深入之执行上下文
  8. JavaScript深入之闭包
  9. JavaScript深入之参数按值传递
  10. JavaScript深入之call和apply的模拟实现
  11. JavaScript深入之bind的模拟实现
  12. JavaScript深入之new的模拟实现
  13. JavaScript深入之类数组对象与arguments
  14. JavaScript深入之创建对象的多种方式以及优缺点
  15. JavaScript深入之继承的多种方式以及优缺点

作者推荐

在我研究一些课题的时候,有时感觉自己深受启发,颇有醍醐灌顶的感觉,我也希望这个系列的读者能感受到跟作者当初学习这些内容时的一样兴奋的感觉,所以强烈推荐以下三篇:

  1. JavaScript深入之call和apply的模拟实现
  2. JavaScript深入之new的模拟实现
  3. JavaScript深入之从ECMAScript规范解读this

真的完结?

JavaScript 底层知识哪有这么一点呐!在不断学习的过程中,还会冒出一些新的课题适合划分到深入系列,如果是这样的话,就会偶尔发布一篇,当然了,如果冒出太多的话,不保证再来一个深入系列第二季。

下期预告

一周之内,会发布新的系列即 JavaScript 专题系列,这个系列主要研究日常开发中一些功能点的实现,比如防抖、节流、去重、拷贝、最值、扁平、柯里、递归、乱序、排序等,特点是抄袭 underscore 和 jQuery 的实现方式,而这次预计写二十篇左右。

感谢大家的阅读和支持,我是冴羽,JavaScript 专题系列再见啦![]~( ̄▽ ̄)~**

@jawil

This comment has been minimized.

jawil commented May 26, 2017

框架能够让我们跑的更快,但只有了解原生的JS才能让我们走的更远。

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 26, 2017

@jawil 你怎么这么睿智!!!o( ̄▽ ̄)d o( ̄▽ ̄)d o( ̄▽ ̄)d

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 26, 2017

@jawil 感谢你一路的关注、回复、讨论和建议!o(* ̄3 ̄)o

@wuzehv

This comment has been minimized.

wuzehv commented May 26, 2017

偶然来到你的网站, 不太会js. 博客感觉写的很认真, 而且这个地方选的很精妙 赞

@JarvenIV

This comment has been minimized.

JarvenIV commented May 26, 2017

写的很不错,正在学习~~~不过话说你咋又这么多时间来写这个啊,不上班么?

@jawil

This comment has been minimized.

jawil commented May 26, 2017

当然上班啊,不过博主是公务员类程序员,10点上班5点下班,有的是时间😄@JarvenIV

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@wuzehv 感谢夸奖,这里一直都会有文章更新哈~(~ ̄▽ ̄)~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@jawil 哎呀,这都被你发现了……

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@jawil @JarvenIV 公司不要求加班,只要按时完成项目就行,所以一般晚上会留在公司研究点内容,自己的时间,客观评价还是很充裕的

@spyhole

This comment has been minimized.

spyhole commented May 27, 2017

恭喜结案 #

@igo9go

This comment has been minimized.

igo9go commented May 27, 2017

建议作者把内容搬到wiki里面

@eczn

This comment has been minimized.

eczn commented May 27, 2017

恭喜 贺电

@rfw

This comment has been minimized.

rfw commented May 27, 2017

很好的文章,已star

@Junimo

This comment has been minimized.

Junimo commented May 27, 2017

很期待博主的柯里化函数式编程。

@evanzlj

This comment has been minimized.

evanzlj commented May 27, 2017

哼哼 天天偷懒,快去干活儿啦

@zephyrzoom

This comment has been minimized.

zephyrzoom commented May 27, 2017

第一次见到把博客写到Issue里的,老铁666

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@spyhole 希望还能写个深入系列第二季~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@igo9go 搬到 wiki 里还能大家留言讨论吗?

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@eczn 感谢来自二次元世界 eczn 发来的贺电~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@dan-me 突然好想一篇文章一个仓库……哈哈~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@Junimo 柯里化可不好写,因为要讲解 lodash 的 curry 函数的实现方式,我自己快被绕晕了……

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@evanzlj 哎呀呀,这是个效率问题~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 27, 2017

@zephyrzoom 抱拳了,老铁

@jeyfang123

This comment has been minimized.

jeyfang123 commented May 28, 2017

好,这几天把这个看完~!!

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 29, 2017

@jeyfang123 哈哈,难得的假期不准备好好休息一下吗?φ(≧ω≦*)♪

@AlfredYan

This comment has been minimized.

AlfredYan commented Jun 1, 2017

看了前几篇,看得出博主是非常用心写的!非常感谢您的分享,已Star~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Jun 1, 2017

@AlfredYan 不用这么客气,看文章的时候,有疑问就留言跟大家讨论哈~

@UI-Animation-Chen

This comment has been minimized.

UI-Animation-Chen commented Jun 4, 2017

感谢作者的分享,个人认为,学习一门语言一定要深入,这样基于这门语言的任何框架都不需要care了

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Jun 4, 2017

@UI-Animation-Chen 哈哈,读框架的源码也是学习的一个方法~

@zhanba

This comment has been minimized.

zhanba commented Aug 31, 2017

学到不少东西,感谢。没讲Event Loop比较遗憾哈。

@pingan8787

This comment has been minimized.

pingan8787 commented Oct 26, 2017

感谢分享,得再回顾下这些基础了。

@zhangruinian

This comment has been minimized.

zhangruinian commented Nov 15, 2017

加油,期待下一期

@cunjieliu

This comment has been minimized.

cunjieliu commented Nov 16, 2017

Good!

@ClarenceC

This comment has been minimized.

ClarenceC commented Nov 24, 2017

现在跟过来应该还不算太迟吧.需然很多知识点都已经学会,会再跟大大再学一遍.

@dwqs dwqs referenced this issue Nov 24, 2017

Open

TypeScript 文档 #5

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Nov 24, 2017

@ClarenceC 有疑问或者想法欢迎留言讨论哈~

@mqyqingfeng mqyqingfeng added 总结篇 and removed 总结篇 labels Dec 20, 2017

@zengyunchun

This comment has been minimized.

zengyunchun commented Dec 22, 2017

每次感觉js某些深入的知识点要忘了,就过来回顾一下, 多谢作者!

@lizhongzhen11

This comment has been minimized.

lizhongzhen11 commented Feb 28, 2018

结案打卡!
再次万分感谢博主!!!

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Mar 8, 2018

@lizhongzhen11 恭喜恭喜哟,希望你收获颇丰,新的一年,相互勉励哦~ (๑•̀ㅂ•́)و✧

@langxiaohui123

This comment has been minimized.

langxiaohui123 commented Apr 16, 2018

@mqyqingfeng 确实写的不错,今天无意间翻到的,关键是还有很多补充和纠错,虽然这都2018年快要到下半年了才看到,但是收获不小。看来以后的抽时间git了。。

@huangshuwei

This comment has been minimized.

huangshuwei commented May 8, 2018

对于像我这样后端转前端的帮助很大,全部看了一遍,准备有时间再看一遍。很赞

@liangzr

This comment has been minimized.

liangzr commented May 22, 2018

哇,去年看到这个深入系列,当时觉得博主写的很棒,也想学着写一个深入 JS 的系列文章,但当时又觉得看过别人的文章和写作模式就会有种先入为主的跟着抄,限制思维,觉得这样不太好。今年又无意又搜到了专题系列的文章,又觉得专题系列更棒(那当时我怎么没想到写这样的专题系列呢),不管怎么样,打算不再临渊羡鱼了,我也要写个博客系列出来

@hhking

This comment has been minimized.

hhking commented May 23, 2018

很多知识点都看过,再看一遍又有新的收获,后面要再看几遍,然后能得出自己的积淀!

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented May 31, 2018

@langxiaohui123 @huangshuwei @liangzr @hhking 感谢你们,欢迎你们分享自己的收获呦~(๑•̀ㅂ•́)و✧

@fundatou

This comment has been minimized.

fundatou commented Jun 13, 2018

感谢博主的分享!博主这种面对评论中的各种问题也都会耐心一一解答的精神真的很赞!

@mhxy13867806343

This comment has been minimized.

mhxy13867806343 commented Jun 16, 2018

感谢博主的分享!

@lzuliuyun

This comment has been minimized.

lzuliuyun commented Jun 19, 2018

感谢博主的分享!受益良多,期待博主后面贴出打赏码。再次感谢。

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Jun 19, 2018

@fundatou 实在惭愧,我现在都没有精力回答问题了……项目繁忙,该研究和学习的东西都无法保证,恳请各位如果遇到会的问题,不吝回答,感激不尽~

@mqyqingfeng

This comment has been minimized.

Owner

mqyqingfeng commented Jun 19, 2018

@lzuliuyun 感谢,多来逛逛就好~

@zczhoucong

This comment has been minimized.

zczhoucong commented Jul 15, 2018

不得不说博主的js功底真的扎实

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment