来看看网友们的看法
前端框架那么多,还有必要学原生 JS 么
如果只想停留在搞点小效果、下点现成代码改下套到自己网站上那个水平的话,确实没必要学。
打个比方:你去买一堆无人机零件,按说明书折腾几天,组装出来也能上天也能卖出去。有那么一天,来了个500万的大单,客户说:我们要的外形市面上没有,机身要改结构减轻重量减小尺寸,那么你不懂空气动力学、不懂材料和加工工艺,没辙了。
框架后面是原生 js,原生 js 背后还有数学,一般人精通几门程序了解点数学皮毛就到头了,在世界上那些大的企业比如:百度、阿里、谷歌,企业里面那些精通数学的人一般负责指挥这些精通代码的程序员,而他们职位通常叫首席科学家,不但一年拿个几百上千万,好多还拿股份的。
学了 jQuery 以后还有必要再学 JavaScript 吗
首先说说 jquery 的优势
提高开发效率
jquery 是常用的 js 工具方法的一堆封装,他在一定程度上加快前端开发的速度,会缩短项目开发周期,会减少很多代码。
充分考虑开发者习惯
为什么它能够像现在如此受欢迎,成为一种事实的标准,是因为它的封装充分考虑了开发者的习惯,再尽可能大的角度来方便开发者调用与二次开发,这是他的一个优点之一。具体体现在,类工厂链式方式的调用,比如:$().show().animate()
,比如 set
,get
的统一参数处理。$().css('width') $().css({ width : 200 });
解决了兼容性问题
而且在早期版本兼容了低版本 IE 的很多 bug,使开发的注意力真正的关注到逻辑与数据上来,而不是成天解决兼容问题。
为什么要学习 js
至于如何使用好 jquery,jquery 提供的方便快捷封装在整个前端开发流程占多大的比例?为什么我们一定要建议先学 js,再学习其它框架,这是我们要搞清楚的。
其实如何使用好 jquery,取决于原生 js 的基础,什么是原生 js 的基础:
js 里边单双引号是否有区别,他的标识名命名规则是怎么样的,为什么 prototype 与 jquery 都取$
为他的工厂函数标志?如果你将来写一个,还有没有其它符号可用?
js里边保留字,关键字,有哪些?each 与普通的 for 循环有多大的区别,它的优缺点以及我们什么时候该用什么时候不该用等等。
上面的这些知识,在任何一本 jquery 书籍里边提得不多,而这些恰恰是一个js初学者必须掌握的。jquery 在整个开发过程中充当了一个方便操作 DOM 的工具集合,而前端开发除了操作常用的 DOM 之外,还需要操作页面的交互数据,模块化开发等等。夸张点说:jquery 只是前端开发的一个部分,它没有任何一处能完全取代原生 js。而我们需要了解的还有很多,比如:angularjs,backbone,avlon(阿瓦隆 ?) 等等,模块化开发,比如seajs, requirejs,还有其它的打包工具:grunt,glup,fis等等的。而了解这些,需要原生 js 的基础。
前面从个人的角度介绍了一下什么是 jquery,然后什么是js,百度很多,不一一介绍。只有在学好原生 js 的基础上,才能更多的学习其它框架。jquery 与其它框架出现的初衷就是加快 js 开发。粗暴的理解,它们都是对常用的 js 函数进行了封装,所以 js 功底扎实,其他框架就能很快入手,这也是 jquery 及其它框架很受欢迎的原因。
然后个人建议:先学原生js,再学 jquery,然后有空学习 jquery 源码,才好更好的使用 jquery。
推荐两篇讲 js 学习方法的博客
为什么你的 javascript 学了这么久,水平还是烂成了渣?
为什么你的 JavaScript 学了这么久,代码还是烂成了渣?