从今天起构建你的javascript世界

童欧巴      2022-02-09     531

关键词:

观感度:?????

口味:酸辣无骨凤爪

烹饪时间:5min

本文已收录在前端食堂同名仓库Github github.com/Geekhyt,欢迎光临食堂,如果觉得酒菜还算可口,赏个 Star 对食堂老板来说是莫大的鼓励。
  • 现在的笔试题让手写xxx原理,代码太多了,记不住怎么办?
  • 要如何深刻理解 JavaScirpt 中的各种概念呢?
  • 。。。

这些问题是交流群中同学们的提问,相信或多或少的同学们都经历过这个阶段。想要解决这些问题,我决定先从一本书说起。

《如何高效学习:1 年完成麻省理工 4 年 33 门课程的整体性学习法》

一位名叫斯科特·杨的精神小伙儿因快速学习而成名,他将自己的学习方法全部总结到了这本书里。

当然,除了掌握方法以外,还要做到时间管理上的极度自律,这里还是要向罗老师学习。

拉回来,书中提到了很多的方法,感兴趣的同学们可以去阅读。

正如我读完后在书评中所写道:每个人的学习方法都不同,高手与菜鸟的成长轨迹也不同。挑选这本书中真正适合自己的方法才是最好的。

这里我们先抛开书中提到的一些概念,抽取书中一些我认为有用的方法来看一看。

书中所强调的整体性学习是一种学习理论,不同于机械记忆。比如,不断的在脑海中重复数十次来记忆一段古诗词或是物理公式,这就是机械的记忆。

(这里吐槽一下高中的语文老师,告诉我们背古诗词的时候就是要死记硬背,机械记忆,读 100 遍肯定能背下来。人无完人,只是单纯吐槽这一点,还是要感谢老师的教育。)

所以,无论什么时候,拥有独立思考的能力都是很重要的。当时的我还是按照自己熟悉的方式去背古诗词,并没有机械记忆,以至于我的语文成绩一向很好,语文成绩幸运的拿到过全校第一。

事实上,知识的学习从来就不是孤立的。

拿计算机和人脑相比,计算机本质上存储的不过是 0 或 1,而人脑中是通过数十亿个神经元相互联系储存信息的。整体性学习正是要利用你大脑中已有的丰富神经元网络,对信息进行吸收、整合。

你创造的联系越多,这些信息就会理解的越好,记忆的越牢。所以,我们需要建立属于自己的知识网络,从而达到高效学习。

那么,问题来了,如何创造关联呢?这种方法我们早在幼儿园的时候就已经在学习了。

那就是比喻。

比喻就是在你不熟悉的领域和你熟悉的领域间建立起一座桥梁。

拿我们最熟悉的 JavaScript 中的基本数据类型来举例:

JavaScript 的数据类型包括原始类型和对象类型:

原始类型:Null、Undefined、Boolean、Number、String、Symbol、BigInt

对象类型:Object

(我们习惯把对象称为引用类型,当然还有很多特殊的引用类型,比如Function、Array等)

我们知道,原始类型值是不可变的。

let str = '前端食堂';

str[0] = 6;

console.log(str); // 前端食堂

不难看出,我们无法更改字符串的值。但是如果像下面这样更改呢?

let str = '前端食堂';

str = '前端食堂老板是童欧巴';

console.log(str); // 前端食堂老板是童欧巴

这不就改变了吗?其实不然。

JavaScript 中的原始类型值被存储在栈中,上面的操作只不过是在栈中新开辟了一块内存空间用于存储新的字符串而已,然后将 str “指” 向了新的字符串所在的内存空间,原来的字符串是没有变的。

而引用类型不再具有不可变性,我们可以很容易的更改他们。

obj.name = '前端食堂';
obj.age = '18';

那么我们如何使用比喻法来加深对 JavaScript 中基本数据类型的理解呢?

来到了前端食堂,我们不妨加入一些人间烟火气,一起做一道菜!

酸辣无骨凤爪!

原始类型就是盐、生抽等调料,无法改变,想用就用。

对象则是做无骨凤爪需要的主要食材,也就是凤爪,首先我们需要将凤爪用清水泡 20 分钟后将指甲剪掉,然后锅里加入姜片、料酒和凤爪,水烧开后再煮 10 分钟。期间记得捞出血末,煮熟后的凤爪需要再冰水中泡半个小时,凤爪的口感会更加的 Q 弹,接下来就是这道菜最耗时的一步,将凤爪的骨头剔出来。最后,准备一碗灵魂酱汁,根据个人喜好加入盐、生抽、白糖等调料和柠檬片,将凤爪与酱汁拌匀,盖上保鲜膜放入冰箱保鲜,两个小时后你就得到了一份酸辣无骨凤爪。

  • 原始类型的不可变性:盐、生抽
  • 对象:我们可以对凤爪进行各种处理

这样理解起来,是不是会更加深刻呢?你也可以将它们比喻为你更熟悉的事物,构建属于你自己的知识网络。

书中还介绍了一些关于比喻法的实操步骤,做起来也不难,如下几点,提供给你借鉴:

  • 明确概念
  • 建立图像
  • 让图像动起来
  • 添加感官
  • 加入情感
  • 不断优化

本文算是开了个头,希望这些感悟可以帮助你将难理解的抽象概念用比喻法进行消化吸收,构建属于你自己的 JavaScript 世界!

不多说了,我去吃凤爪了。大家周末愉快~

❤️爱心三连击

1.如果你觉得食堂酒菜还合胃口,就点个赞支持下吧,你的赞是我最大的动力。

2.关注公众号前端食堂,吃好每一顿饭!

3.本文已收录在前端食堂 Github github.com/Geekhyt,希望能得到你的小星星鼓励。

从今天起 10 天后的日期代码点火器

】从今天起10天后的日期代码点火器【英文标题】:datecodeniter10daysfromtoday【发布时间】:2016-12-0611:58:49【问题描述】:如果状态为0,我需要构建一个查询,显示从今天起10天后的所有行(AND)我在表格中的日期格式为yyyy-mm-dd$this... 查看详情

致5年经验的it人:从现在起,决定你未来高度的将不再是你的技术能力

你眼中的世界,一定是你心中想当然的世界。通过别人的眼睛看世界,才能够突破自己的思维模式,前几天和朋友见面,聊起华为年初清理34岁以上职员及大龄程序员的话题,一致认为:技术人员一定不要因为工作忙、圈子窄而... 查看详情

今天,我的博客开通了

从明天起,做一个幸福的人喂马、劈柴,周游世界从明天起,关心粮食和蔬菜我有一所房子,面朝大海,春暖花开 从明天起,和每一个亲人通信告诉他们我的幸福那幸福的闪电告诉我的我将告诉每一个人给每一条河每一座山... 查看详情

世界上第一次网络瘫痪|历史上的今天

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2022年10月27日,在十一年前的今天,国家超级计算济南中心正式建成挂牌,这是国内首台全部采用国产中央处理器(CPU&#x... 查看详情

你的计算机也可以看懂世界——十分钟跑起卷积神经网络(windows+cpu)

学习、使用卷积神经网络已经挺久了,期间一直在基于贾扬清大神的Caffe框架来研究别人的模型,抑或是在无聊的时候以近似于算命一样的方式,眼睛微闭,摇头晃脑,口中不时漏出几个音节,半晌便DIY出一个自认为改进颇多的... 查看详情

通过 Javascript 动态构建输入数据的 DataTables 不起作用

】通过Javascript动态构建输入数据的DataTables不起作用【英文标题】:DataTablesconstructinginputdataviaJavascriptdynamicallydoesnotwork【发布时间】:2018-05-1910:59:02【问题描述】:我正在尝试动态填充表格。以下是我的代码。dataTest包含dataSet在f... 查看详情

使用 JavaScript 函数显示今天的约会/日期

】使用JavaScript函数显示今天的约会/日期【英文标题】:showappointments/datesoftodaywithJavaScriptfunction【发布时间】:2016-03-2419:12:36【问题描述】:我想在我的HTML中显示当天的实际约会。我想用JavaScript来实现它,在其中我可以从Excel表... 查看详情

从shell眼中看世界

...展开每一次你输入一个命令,然后按下enter键,在bash执行你的命令之前,bash会对输入的字符完成几个步骤处理。我们已经知道两三个案例,怎样一个简单的字符序列,例如“*”,对shell来说,有很多的涵义。使这个发生的过程叫... 查看详情

01欢迎进入软件构建的世界

1.软件构建活动中的具体任务验证有关的基础工作已经完成,因此构建活动可以顺利地进行下去确定如何测试所写的代码设计并编写类(class)和子程序创建并命名变量(variable)和具名常亮(namedconstant)选择控制结构(controlstru... 查看详情

javascript在构建器中将元素移动到中心列之外(对于组不起作用)(代码片段)

查看详情

如何制定允许用户从今天起只输入 DateTime 的 CHECK 约束?

】如何制定允许用户从今天起只输入DateTime的CHECK约束?【英文标题】:HowtomakeaCHECKconstraintthatallowusertoonlyinputDateTimefromtodayandonwards?【发布时间】:2019-04-2813:33:23【问题描述】:与标题一样,我正在尝试解决我的CHECK限制,即用户... 查看详情

JavaScript 片段在 Django 模板中不起作用

】JavaScript片段在Django模板中不起作用【英文标题】:JavaScriptsnippetnotworkinginDjangotemplate【发布时间】:2020-01-1512:07:07【问题描述】:自从我做Django以来已经有一段时间了,我找到了一个从我需要的按钮调用视图的示例:HowdoIcallaDj... 查看详情

T-SQL 查询以获取从今天起 +30 天的日期

】T-SQL查询以获取从今天起+30天的日期【英文标题】:T-SQLquerytogetadate+30daysfromtodayexactly【发布时间】:2019-11-1506:49:22【问题描述】:数据采用日期/时间格式,我正在尝试获取从今天起30天内日期精确的行列表。这是基于SQLServer200... 查看详情

grunt的初级应用

 Grunt是什么呢?Grunt是JavaScript世界的构建工具.为什么要用构建工具?一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在Gruntfil... 查看详情

如何重建自己的内心世界和外部世界?何谓构建外部世界?

如何构建自己的“内心世界”?答案是:秩序、法则、审判;秩序是构建自己内心世界的基础和必要条件,也是区别于外界的重要元素;法则是对于内心秩序遵守的保障;审判是对模糊地带的灵魂思考;举个例子来说明这三个要... 查看详情

历史上的今天10月9日:谷歌收购youtube;中关村的第一家公司;binac计算机建成

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月9日,世界邮政日。世界邮政日是万国邮政联盟从1969年起举办的纪念日,目的是广泛地宣传邮政在各国政治、经济、文... 查看详情

从远程计算机访问时Javascript不起作用

】从远程计算机访问时Javascript不起作用【英文标题】:Javascriptnotworkingwhenaccessingfromremotecomputer【发布时间】:2013-05-0404:39:19【问题描述】:我使用此链接访问了我的客户页面http://XX.XX.XX.XX/project/client.php。它只有几行javascript和htm... 查看详情

从你的全世界路过-告白气球

  我希望有个人如你一般的人,如山间清爽的风,如古城温暖的光,从清晨 , 到傍晚, 从山野 , 到书房,一切都没有关系 只要最后是你就好接口1.定义:接口(interface)是抽象方法和常量值定义... 查看详情