堆栈溢出报错引起的思考

2015年末写的小文现在拿出来现在拿出来分享

Stack overflowjavascript

这几天开始看买了好久的一本书《javascript数据结构与算法》,我很后悔本身不早一点看这本书,打开书翻看以后我更后悔,后悔大学时期老师讲了一学期的“C语言数据结构”,那个时候对本身未来从事什么职业,哪个行业根本没有概念,还曾梦想着成为那种脚踩高跟鞋,左手星巴克,右臂90度挎包行走在车来人往的CBD,呵呵,看看如今的本身,天天几近凌晨到家,次日满满鸡血行走在键盘之间,每次清晨洗完脸后才会发现,oh 原来这才是生活以及镜中真实的本身,既然选择了这个职业也就没什么热爱不热爱的,只要你投入时间和汗水,它也必定会回报你买得起Chanel 和La Mer。前端

因此人生的哪个时刻,当你在接触一些新东西的时候,都应该以“这是增加我技能”的心态去对待,说不定哪个时刻你就会用到它,翻开个人书,那些似曾熟悉的名词一个个从脑中飘过,图,二叉树,动态规划...."好像那些知识和概念曾在老师的板书上出现过不少次,依稀还能闻到那些充满知识的粉笔沫,我之前以为作前端是不须要用到这些知识的,如今我发现本身是多么的才疏学浅,我学的东西太浅了,而我须要学的东西实在太多了,或者换一种角度,这也正是本身进阶路上的宝石,和怪物,收获每一颗宝石,打倒每个怪物就能够通关了(进阶)。java

看数据结构与算法的主要缘由是,一次递归调用事件引起的,递归调用应该是你们都熟悉和使用过的简单算法,虽然使用它并不能提高性能,可是使用递归更容易理解和少写不少冗余代码,而我以前也只是死死地记住了它的使用条件和简单实例程序员

  1. 有反复的执行过程(调用自身)
  2. 有跳出反复执行过程的条件(递归出口)
  3. 实例有:阶乘,斐波那契数列

在真实的开发过程当中,若是没有系统的学习和不断地实践,其实你根本想不到如何使用它,这就是为何我曾经写过那么多的for循环和if判断,或者更直接的说“你其实根本就没有学会它”,在最近的一次调试过程当中,我在终端执行gulp命令后,开始在浏览器中测试页面效果,然而控制台报了一个在我真正从事开发的这9个月中从未遇到过的error算法

Maximum call stack size exceededgulp

当时的我都没有过脑子直接copy到Google上面,按下回车的瞬间,各类各样的搜索结果映入眼帘,OMG当时我才发现,这不是我经常用来提问的知名问答平台stack overflow的名字吗?而我是多么的好笑,联为何报这个错误都不知道,当时很是的沮丧,找不到缘由,最后老大告诉我,我在子类中调用了父类的loader方法,可是父类找不到模板,继续loader以后,形成了无限递归调用,致使了:too much recursion,而就在前几天,老大刚刚给我和师兄讲了递归的用法,还帮我修改了我在类种写的冗余代码,而那天我只是搞懂了老大讲的内容,回来以后本身没有细看和深刻学习真东西仍是学不到的,一个平台给你学习和成长的机会,而且不断地push你,这样的机会也是要牢牢抓住不能放手的,因此你本身才是驱动一切事物的核心,现在这件事过去一周后,我翻看了个人《javascript数据结构与算法》,第十一章:算法补充知识中清晰的讲解了递归的使用,js调用栈限制,浏览器异常报错,异常捕获等,而这些我若是早一点看和学习,而且按照书中的例子去实践,估计老大那次给我讲的时候我会理解的更透彻,但若是没有这两次的经历,我也不会开始系统的学习数据结构和算法,正如当初我没有学好这门课程,现在我在这上吃了苦头,又如当初我发誓死也不当程序员,而现在的代码工做者正是本身,生活中简直太多的“若是,当初,要是”了,因此把握住当下的每一件事都本着“它将令我成长,它将为我所用”去作,才会活的更棒。即便今天的我在灰头土脸的敲代码,也要学会画精致的妆容,拥有敏锐的时尚气息,过有品质的生活,梦想就是用来实现的,难道不是吗浏览器

相关文章
相关标签/搜索