- JavaScript是什么?
- JavaScript 不是面向对象的语言,但是可以模拟面向对象的思想
- JavaScript 是一门基于对象的语言
- JavaScript 是一门脚本语言
- JavaScript 是一门解释性语言
- JavaScript 是一门动态类型的语言
- 数字类型:number类型
- 无论是整数还是小数都是数字类型
- 不要用小数验证小数,因为这是个bug
- 不要使用NaN判断是不是NaN,因该使用 isNaN (值 或者是 变量)-------NaN (not a number)
- 想要表示十进制:就是正常的数字
- 想要表示八进制:以0开头
- 想要表示十六进制:以0x开头
- 预解析(关键字:预解析、作用域、提升、隐式全局变量、)
- 1、把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。
- 2、把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。
- 3、先提升var,在提升function。
- 4、如果有多对的script标签都有相同名字的函数,预解析的时候是分段的,互不影响
jQuery是常用的js工具方法的一堆封装,他在一定程度上加快前端开发的速度,会缩短项目开发周期,会减少很多代码。
为什么他能够像现在如此受欢迎,成为一种事实的标准,是因为他的封装充分f考虑了开发者的习惯,在尽可能大的角度来方便开发者调用与二次开发,这是他的一个优点之一。具体体现在,类工厂链式方式的调用,比如:
$().show().animate(),比如set,get的统一参数处理。$().css('width') $().css({ width : 200 });
而且在早期版本兼容了低版本ie的很多bug,使开发的注意力真正的关注到逻辑与数据上来,而不是成天解决兼容问题。
其它优点不一一等等。
至于如何使用好jQuery,jQuery提供的方便快捷封装在整个前端开发流程占多大的比例?为什么我们一定要建议先学js,在学习其它框架,这是我们要搞清楚的。
1. 其实如何使用好jQuery,取决于原生js的基础,什么是原生js的基础:
比如:js语句后面到底用不用加分号,不用加分号时在哪个地方有坑?
js里边单双引号是否有区别,他的标识名命名规则是怎么样的,为什么prototype与jQuery都取$为他的工厂函数标志?如果你将来写一个,还有没有其它符号可用?
js里边保留字,关键字,有哪些?each与普通的for循环有多大的区别,他的好处在哪里,他的坏处在哪里,我们什么时候该用他,什么时候不该用他,等等。
上面的这些知识,在任何一个jQuery相关书籍里边提的不多,而这些恰恰是一个js初学者必须掌握的。
2. jQuery在整个开发过程中充当了一个方便操作dom的工具方法集合,而前端开发除了操作常用的dom之外,还需要操作页面的交互数据,模块化开发,工程师发布等等。夸张点说:jQuery只是前端开发中的一个部分,他没有任何一处能力完全取代原生js。而且我们需要了解的还有很多,比如:angularjs, backbone, avlon等等,模块化开发,比如seajs, requirejs,还有其它的打包工具:grunt,glup,fis等等的。而了解这些,需要的基础是原生js的能力。
前面从个人的角度介绍了一下什么是jQuery,然后什么是js,百度很多,不一一介绍。
3. 只有在学好原生js的基础上,才能很多的学习jQuery或其它框架。因为jQuery与其它框架出现的初衷就是加快js开发,粗暴的理解,他对常用的js开发函数进行了封装,所以js功底扎实,基本看api及说明就能很快的入手,这也是jQuery及其它框架欢迎的根本。
然后个人建议:先学原生js,再学jQuery,然后有空学习jQuery源码,才好更好的使用jQuery。