首页 » 随口说 » 正文

为什么我们觉得javascript很难学?

   经常有学员在抱怨现在前端技术

 1、更新太快,完全来不及学。

 2、javascript太难学。(抗拒学习的同学很多哦)

 3、已有部分同学放弃了前端
 
  今天我们就对javascript太难学做一点简单的分析

  经过我对上述同学的调查取样和”尸检”,发现了这样一个现象。

  很多同学一听javascript. 立刻大脑中浮现出

   1、document.getElementById(“xxx”).value=”xxxxx”;
   2、alert(“xxx”);
   3、window.open(xxx)

   殊不知,以上代码包含了两部分
   1、javascript的语法(也就是我们常听到的ECMAScript)
   2、浏览器中DOM对象的操作
 
   其实很多同学反反复复的在学习DOM操作,尤其是配合jQuery后完全觉得自己很精通javascript了。然而,最精髓的ECMAScript根本没有去学通

   如果你还是不明白我们以java为例,我们学习java怎么学的?
   1、首先要学习语法。如数据类型、对象和类、运算符、循环结构
 
     那么ECMAScript也好比是这些。比如AO链、闭包、对象。这些你都学了吗?

   2、语法学完后,你肯定会写个java的hello world。那么你肯定会用控制台程序来写个hello world。当然,java程序要编译。而PHP这样的不需要编译,直接解释运行。

     你以为javascript不能?人家一样能,譬如著名的google v8引擎或者耳熟能详的Node.js来解释运行 ,都可以妥妥的在控制台输出hello world。

   3、那么接下来我们可能要用 java来做个网站了,我们这时才会去使用一些类库和框架.大家要知道,这些类库和框架除了官方提供的,还有很多是第三方提供的,譬如spring。而且还得借助一些平台,譬如tomcat。
 
     那么js也一样哦。光有语法和基本数据类型有卵用?做个计算器?其实肯定要借助一些平台,譬如浏览器。而浏览器里面有丰富的DOM对象(譬如你的document、windows)和BOM对象(譬如xmlhttprequest)

   问题就出在这第三步,由于javascript在浏览器上应用的太他妈广泛了。导致很多同学认为
   1、js必须在浏览器上才能运行
   2、js就只要知道怎么操作文本框、按钮,加加事件就可以了。
   3、js就是用来做特效的。
   4、只需要会jQuery就行了。不需要会原生JS

   前端的变化
   自从Node.js的产生,确实推动和颠覆了前端开发的整体格局。于是像类似vue.js这样的框架产生后,导致很多同学完全看不懂了。再者譬如微信小程序公测后,有些同学已经云里雾里了,如疑问:为啥无法alert?为啥不能用document?。(答案很简单,其实你 javascript根本没学

    就像学习java一样。我们首先要学精通的是js的语法标准部分,也就是ECMAScript ,目前ES2015已经很流行了。如果你不会,可就要抓紧了。

    就像学习PHP一样。我们总不能光学PHP的一些第三方扩展库和怎么运行在apache上吧。既然你知道学PHP首先要学语法,那么为啥学javascript不肯学语法?

   同样就像学习PHP一样。PHP的版本从4.x升级到7.x了。那么亲是否以为javascript版本从来没变化过?(ES2015之前是啥?只不过浏览器帮我们做了无缝升级体验而已),既然你知道学PHP要开始学7了,那么ES2015是否也要开始学了呢?

 

  以上为一些小建议,希望大家从现在开始努力和正确的学习吧~~~~

  (PS:由于之前推出了PHP魔鬼训练课程,在学员的要求下,即将开设javascript版本的魔鬼训练课,敬请期待吧)

 

   
  

本文共 5 个回复

  • 匿名 2016/11/15 10:27

    期待~

  • 匿名 2016/11/17 01:44

    期待javascript魔鬼训练,让叔带我飞

  • sheldon shen 2016/11/18 18:04

    "其实你 javascript根本没学",全篇这句话,最具震撼力量!

  • seder 2016/11/29 13:01

    说的很有道理!

  • 落叶黄了这世界 2016/12/22 16:24

    最近觉得js太重要了

发表评论