Skip to content
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 · 103 comments
Open

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

mqyqingfeng opened this issue May 26, 2017 · 103 comments

Comments

@mqyqingfeng
Copy link
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. JavaScript深入之从原型到原型链
  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
Copy link

jawil commented May 26, 2017

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@wuzehv
Copy link

wuzehv commented May 26, 2017

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

@xumengzi
Copy link

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

@jawil
Copy link

jawil commented May 26, 2017

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@ghost
Copy link

ghost commented May 27, 2017

恭喜结案 #

@igo9go
Copy link

igo9go commented May 27, 2017

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

@eczn
Copy link

eczn commented May 27, 2017

恭喜 贺电

@rfw
Copy link

rfw commented May 27, 2017

很好的文章,已star

@Junimo
Copy link

Junimo commented May 27, 2017

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

@evanzlj
Copy link

evanzlj commented May 27, 2017

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

@zephyrzoom
Copy link

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

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

@mqyqingfeng
Copy link
Owner Author

@zephyrzoom 抱拳了,老铁

@jeyfang123
Copy link

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

@mqyqingfeng
Copy link
Owner Author

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

@AlfredYan
Copy link

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

@mqyqingfeng
Copy link
Owner Author

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

@UI-Animation-Chen
Copy link

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

@mqyqingfeng
Copy link
Owner Author

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

@sammok
Copy link

sammok commented Mar 13, 2020

下次一定!

@hhha-p
Copy link

hhha-p commented Apr 14, 2020

作者的文笔好棒!

@hhha-p
Copy link

hhha-p commented Apr 14, 2020

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

@Mark24Code
Copy link

很想问,作者是如何挖掘的那么深的?
想研究这类问题,应该如何入手呢?

@JoeZhangHao
Copy link

看完了,收获颇多,感谢大大!平常有什么网站或者学习方式可以推荐的吗Thanks♪(・ω・)ノ

@haochi1999
Copy link

打卡 收获颇多 将一系列知识点串联起来了 读完有一种豁然开朗的感觉 但是里面还有部分还不能理解 还会继续重读!

@returnMaize
Copy link

i dont't care 敲错了(其实也不影响阅读啦😆)。感谢博主的分享。

@zrx1118
Copy link

zrx1118 commented Jul 10, 2020

感谢分享,已star,react要上了么

@puck1006
Copy link

超级棒👍

@childtong
Copy link

js深入系列每一篇都陆陆续续返过头来阅读了三遍以上,感觉每一次都有一些不同的理解和收获,这是目前让我感觉收获最多的一个系列文章,感谢冴羽大大的持续更新

@longshishui
Copy link

学习了,感谢~

@MrLeihe
Copy link

MrLeihe commented Sep 22, 2020

花了两天看完这个系列,我还会再读几遍,评论也很好看~,nice,感谢~

@yinluer
Copy link

yinluer commented Oct 23, 2020

收获很多,感谢!!!

@itsRaul
Copy link

itsRaul commented Nov 16, 2020

感谢!还要多看几遍才行

@vipduqian
Copy link

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

我看不懂 不理解为什么要这样写

@vipduqian
Copy link

看不懂咋办 不明白为什么要这样写?这样写的目的又是什么?

@hakthiang
Copy link

这几天开始看,收获很多,非常感谢冴羽大大!!
正文和评论区都非常有学习的价值
后面会经常拜读的

@gitLSCS
Copy link

gitLSCS commented Aug 10, 2021

mark 准备每天看俩章 前辈这么辛苦写的 不下功夫研究一下 都对不起这份知识点

@xxxxinc
Copy link

xxxxinc commented Aug 12, 2021

感谢大佬,半个月陆陆续续的看完了,文章里的demo都手写了一遍,感触很深,后续不断回顾加深记忆。感谢!

@YorkWong30
Copy link

@MarginBlue
Copy link

两天时间看了一遍,感觉不是太熟悉,看来还是基础不牢固,会多看几次深入学习,感谢博主的知识分享

@maggieShally
Copy link

真的学到了很多,感谢

@fiveeth
Copy link

fiveeth commented Feb 9, 2023

感谢大佬,一定还会反复琢磨的,谢谢

@pxCheney
Copy link

pxCheney commented Mar 7, 2024

2024,再来读一遍深入系列,已经深入于心了 仿佛本就该如此 哈哈😄

@rainbowyy
Copy link

rainbowyy commented Mar 7, 2024 via email

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

No branches or pull requests