JQ面试常见问题

最近把《锋利的jquery》重新看了一遍,结合自己平时总结,汇总一下面试常见问题。

1. window.onload=fn 和$(document).ready( fn )的区别

JQ面试常见问题_第1张图片
区别

2. 使用JQ的优势

(1) 强大的选择器出色的dom封装(简化并丰富了原生DOM)。

(2) 丰富的选择器。

(3) 链式操作。

(4) 完善的ajax(再也不用写那四步了).。

(5) 出色的浏览器兼容性IE6.0+、 FF2.0+ 、safari2.0+ 、Opeara9.0+(对兼容性做了很好的处理)。

(6) 隐式迭代无需大量循环。

(7) 可靠地时间处理机制预留退路、循环渐进、非入侵式编程思想。

(8) 不污染顶级变量(封装为jq对象)。

(9) 其他:轻量级(其实也不算轻量级),行为与结构分离,丰富插件支持,完善的文档,开源。

3. JQ和DOM转换

a. JQ是一个数组对象转换时可以get(index) 或者选择[index]。

b. DOM转JQ直接$(dom对象)。

4.怎么解决JQ与其他库的冲突

情况一:JQ在其它库之后导入

方式一  jQuery.noConflict()来将变量$的控制权移交给其他js库

方式二  使用别名

方式三  自定义一个快捷方式

如果不想给JQ自定义这些备用的名称,还想使用$而不管其他库的$()方法,同时又不想跟其他库相冲突的话。

(1) 引入jQuery.noConflict()

(2) 将$换成jQuery

(3) (function($){

        $().show();

    })(jQuery);

情况二:JQ在其它库之前导入

将$换成jQuery即可,无需使用jQuery.noConflict()。

5. jQuery 1-2版本和3+版本的动画本质有什么区别,说说前端使用的动画技术

(1) CSS Transition

(2) CSS Keyframes

(3) 定时器动画(setTimeout) —— jQuery1/2

(4)requestAnimationFrame动画 —— jQuery3+

未完待续...

你可能感兴趣的:(JQ面试常见问题)