jQuery学习必备的10个知识点,实用指南!

发表时间: 2017-10-10 09:36

1.那些操作会造成内存泄漏?

答:

l 给DOM对象添加的属性是一个对象的引用。

l DOM对象与JS对象相互引用。

l 给DOM对象用attachEvent绑定事件。

l 从外到内执行appendChild,这时即使调用removeChild也无法释放

l 反复重写同一个属性会造成内存大量占用。

2.描述垃圾回收器的功能。

答:垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。

3.documen.write和innerHTML的区别?

答:document.write只能重绘整个页面,innerHTML可以重绘页面的一部分。

4.jQuery框架的源码看过吗?能不能简单说一下它的实现原理?

答:jQuery框架通过改变javascript编码方式来创建了全新的编程理念。譬如关于jQuery声明的流程:先查找(创建)jQuery对象,然后调用jQuery对象的方法完成我们需要完成的工作。jQuery就是以这种可以说是最简单的编码逻辑来改变javascript编码方式的,这个流程就是jQuery的编码逻辑核心。

5.jQuery中如何将对象转化为json字符串,然后再转化回来?

答:可以通过JSON.stringify方法把一个对象转换成json字符串,再通过JSON.parse方法把一个json字符串解析成对象。

6.描述一下.get()、[]和.eq()方法的区别。

答:eq返回原生jQuery对象,截取某些el元素生成jQuery新对象;get和[]返回的都是原生的DOM对象,原理一致;get和[]区别是get是通过jQuery对象的方法获取,[]是根据jQuery是一个数组对象获取。

7.描述一下context的概念。

答:context就是限定查找的范围,context必须是一个DOM元素,context底层还是用了.find()方法来实现的。

8.描述一下.delegate()和.live()方法的区别。

答:delegate方法指定了委托对象,live方法委托给了jQuery的context,1.9版本以后用on方法代替了。

9.描述一下.attr()和.prop()方法的区别。

答:.attr()方法是操作属性节点,.prop()方法是操作获取到的对应js对象的属性。在遇到要获取或设置checked、selected、readonly和disabled等属性时,用prop方法显然更好。.prop()方法更高效,因为.attr()方法要访问DOM。

10.jQuery中的load方法一般怎么用的?

答:load方法一般在载入远程HTML代码并插入到DOM中的时候用,通常用来从Web服务器上获取静态的数据文件。如果要传递参数的话,可以使用$.get()或$.post()方法。

点点关注,问题可以私信,一起交流~