作者介绍:码大牛(QQ 2011168841),成长于传智播客和黑马程序员的专家型顾问。

【大牛说】

大牛老师从今天开始推出一个固定栏目,打算自己或者找朋友说一说技术、教学话题的干货和想法。每周二、周四,大牛老师会在微信公众号(boxuegu)和QQ(2011168841)空间同步更新。

有很多IT老师在javascript教学、备课、做项目以及评职称方面存在这些困扰:

“学习js也有一段时间了,然而回头看看自己的代码,果然够烂,为什么代码一直优化不好呢?”

“最近面临着做项目评职称,想要js快速的提升,也学过不少教程,听过不少讲座,但对js的提升就像一拳打个棉花上,很无力,这可咋整?”

“看了高校取消编制的消息,竞争压力更大了,上有老下有小,都不敢生养二胎了,听说js工资挺高的,我该怎么快速提升呢?”

“我每年都会参加js的讲座,貌似对技术很熟,说起面向对象、各种移动框架、抽奖、能踢足球的无人机,都能略懂一二,为啥就是掌握不了js呢?“

针对这些,大牛将从以下几点谈谈自己的看法: 

  1. JavaScript究竟是个什么概念?

  2. 精通不易呀!

  3. 觉得自己没天赋,是因为你没方法?

  4. 总结3点过来人的弯路。

  5. 大牛插播一条告知~

  6. 参加活动,领视频、笔记、源码和素材!

 

 一、JavaScript究竟是个什么概念?

大牛有每月追TIOBE编程语言排行榜(能够反映某个编程语言的热门程度排名数据)的习惯,发现JavaScript刚开始时并不招人待见,一度被开发者称为“丑小鸭”。但随着服务器的强壮,它以跨平台、容易上手等优势大行其道,到现在发展成标准的浏览器语言。 

一系列的术语和工具容易引起混淆,我们不会纠缠于细节的讨论,而是会分析你的困扰以及怎么解决方法。捋明白这些,应该足够你找准方向,开启js开发之旅。

1.jpg


JavaScript是如何工作的?


当客户端(通常是浏览器)访问HTML页面时,会下载、解析js,操作DOM,交互式站点就是这样被炫丽的创建。

JavaScript的执行会阻塞DOM渲染。浏览器解析页面时是按顺序,从上往下解析代码的,这就是说,如果js代码放在上面,执行js时间过长会让人觉得页面没响应。为了避免这种情况,js大多是写在页面的尾部的。


2.png



二、精通不易呀!

 到底什么才是精通javascript?

知乎上有人介绍了自己的情况,大概是这样子的:

我理解了js面向对象的概念,理解了各种逻辑运算符,我精通么?

有的猿会说:“不,你还要学习函数式编程,你要试图用js去模拟一个类,然后让它具备重载以及多态等等特性”。

好了,我都学会了,精通了么?

其它猿说:“不不不,你需要让你的js写的更高效,还要考虑各种浏览器下对某些方法的支持与否,我们要保证这个js具备较好的兼容性。”

好了,我又学会了,精通了么?

猿们又说了:“我们每次写代码都重复使用,很是麻烦,不如你开发一个框架吧,好吧,你开发框架的过程中,了解了各种设计模式。”

好吧,你充分利用例如单体、工厂、观察者等等等等。尼玛这下总算精通了吧?

猿又要说了,不行,咱们写了这么多,是否考虑到性能,需要不需要解耦,需要不需要再完善出来更多的widgets?

蓝瘦,我都被绕晕了。

3.jpg


精通虽然难以达到,但是觉得自己到了“精通”这样一个境界,应该是这样一种感觉:任何一个需求,或许你没做过,或许你精通的这门语言也不是很适合做这种需求,但是你还是有办法(或者觉得应该有办法)去实现它,即便是歪门邪道。那么我觉得到了这样的状态,可以认为已经非常熟练地掌握了这门语言,并且能非常‘自由’地使用它了,不论是业务层面的还是纯语言层面的!

 

三、觉得自己没天赋?是因为你没方法!

4.jpg


有没有好的方法来解决文章开头所说的那些问题呢?

肯定有啊!

1. 让遭遇的问题告诉你,应该补充哪一部分的知识

看优质教程,并且在看教程的过程中,不需要一板一眼的把所有字眼都抠了,不但浪费精力,而且没有养成大局意识。应该有选择性的跳过一些知识点,去看更主干的内容。等敲代码过程中遇到问题时,再回过头来查资料,印象更深刻。

2. 只看不练不可取

大牛就一句话,看十遍不如自己写一遍,自己去体会。

3. 业务依赖技术,技术同样依赖业务 

每个公司的牛人都不是闭关修炼出来的,是实实在在熬出来的。不把业务流程摸清,怎么能写明白业务逻辑呢?

4. 四字箴言:坚持下去。 

很矫情却很实际。

 

四、总结3点过来人的弯路 

1. 不要闭门造车,多跟做过企业项目的朋友同事聊聊

可以通过论坛、社群认识一些厉害的朋友。能够在这些地方分享优质内容的人,肯定都是经历过企业实战的,加他们靠谱。

2. 得扫清"三区"

通过小实例来扫清js的语法盲区;通过小的视频来扫清一些操作上的误区;通过别人的博客来扫清内心恐惧的雷区。

3. 不考虑其他,页面做出来就完了

DOM用得多了会有性能问题。现在很流行列表页页底上拉加载更多,但很少有前端关注加载的极端问题,如果一个页面我下拉了很多次,加载了几千个DOM,会发生什么问题?答案是轻则页面响应缓慢,重则浏览器闪退。

5.jpg

大牛插播一条告知~

为解决文章开头提到的困扰,跟着大牛来来规划一下js学习路线,参加课程学习活动吧!详情如下:

1.活动流程:每周发一个阶段视频资源,共3次,每阶段设置测试环节(这周是第二次发放,查看第一阶段点这里);

每个阶段的目标和主要学习内容如下所示:

第一阶段——各类小demo的制作,主要学习:大前端开发与全栈开发的定义、sublime3安装和包管理器安装、列表、表单、HTML+CSS

第二阶段——完成翻页美女相册的制作,主要学习:Dom、数组、函数、对象

第三阶段——完成京东移动端APP首页的制作,主要学习:移动web开发简介、viewport、商品组合样式

2、资源领取方式:小窗大牛(QQ 2011168841),标明“我来自人邮论坛”,即可获取。


 

参考资料:

https://www.zhihu.com/question/19657253/answer/12548454

 

教学好助手(boxuegu)

IT教师都会关注的公众号

定期推送IT技术、教学干货和教师话题思考

6.jpg