原生的JavaScript与jQuery的区别
1、入口函数不同:
原生js入口函数:window.onload
jQuery入口函数:$(document).ready(function)
2、入口函数加载模式不同:
原生js等页面dom加载完成并且等图片等资源加载完成之后才会执行;
jQuery则只等页面dom加载完成就执行了,并不会等图片等资源加载完成再执行;
所以在这里想通过jQuery的入口函数加载页面之后查询使用资源的属性是不可取的,如:$(document).ready(function(){ $('img').width()});获取不到img的宽度。
3、函数覆盖问题上的区别:
原生js在编写多个入口函数时,后面编写的会覆盖前面编写的;
jQuery则不会覆盖而是按顺序执行;
原生JavaScript与jQuery的关系:
包含与被包含的关系,jQuery 是JavaScript的一个类/方法集合。
因为jQuery是对常用的网页效果做了兼容性的封装,使用这个方法集合在网页中实现效果很方便,但它的本质还是JavaScript。所以同学说的“只写jquery就好了,js代码好麻烦”是矛盾的,jQuery就是JavaScript,其语法就是JavaScript语法。
原生JavaScript的优势:
1、运行速度更快
如:$('#x')比getElementById('x')慢40倍。
2、有时候更节约内存
如:只有几K的网页,却要引用几十上百K的jQuery做效果会显得很浪费。
原生JavaScript的局限性:
1.不能添加多个入口函数(window.onload),如果添加了多个,后面的会把前面的给覆盖;
2.原生JS的API名字都太长太难记;
3.原生JS有的时候会造成代码冗余;
4.原生JS中有些方法或属性,有浏览器兼容问题;
5.原生JS容错率比较低,前面的代码出了问题,后面的代码执行不了等。
jQuery的优势:
1.是可以写多个入口函数的;
2.jQuery的API名字都容易记忆;
3.jQuery的代码简洁(具有隐式迭代机制);
4.jQuery帮我们解决了浏览器兼容问题;
5.容错率较高,前面的代码出了问题,后面的代码不受影响等。