JQ面试常见问题

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

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

区别

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库

<script  src="jq.min.js" ></script>

<script src ="jquery.js"></script>

<script>

jQuery.noConflict();//移交$的控制权 
jQuery().click(fn)

</script>

方式二  使用别名

<script src="jquery.js"></script>

<script  src = "common.js"><script>

<script>

var jq = jQuery.noConflict();//别名

jq().click(fn)

</script>

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

如果不想给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+

未完待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 671评论 0 3
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,863评论 24 450
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,584评论 1 19
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,201评论 2 19
  • 一个人从哪里来?到哪里去?弄清楚自己是谁?这是哲学界的三大命题。 回家乡,中午十一点钟,告诉父亲我出去一会儿。心里...
    西岭布衣阅读 398评论 0 5