jQuery 常见面试题
一 :Q: What is the difference between .get(), [], and .eq()?
A: eq返回原生jQuery对象,截取某些el元素生成Jquery新对象
get和[]返回的都是原生的Dom对象,原理一致
get和[]区别是get是通过jQuery对象的方法获取,[]是根据jQuery是一个数组对象获取
二: What is the difference between .bind(), .live(), and .delegate()?
A: 它们实质调用的都是jQuery实例对象的on函数,更底层是jQuery.event.add();
官方描述:Attach an event handler function for one or more events to the selected elements
.on( events [, selector ] [, data ], handler(eventObject) )
三种绑定函数代码
bind: this.on(types, null, data, fn); 直接绑定到元素上
live: jQuery(this.context).on(types, this.selector, data, fn); 将事件绑定到context上,冒泡,当触发元素为this.selector时触发
delegate: this.on(types. selector, data, fn)
selector如何添加
三: How, and why, would you namespace a bound event handler?
A: click.myPlugin.simple定义了两个命名空间 为这个独特的click事件 可以被移除通过 .off('click.myPlugin') or .off('click.simple')
命名空间跟css 相似都不是分层的,只需要一个名字来匹配
jquery.event jquery.event.global jquery.event.handle
四:What is the difference between $ and $.fn? Or just what is $.fn.
|
1
2
3
|
window.jQuery = window.$ = jQuery; jQuery.fn = jQuery.prototype = {} |
五:what's jQuery's context/selector and why use it
|
1
2
3
|
<div id="context"> <div id="inner"></div> </div> |
context/selector 示例
|
1
2
3
4
5
6
7
8
9
|
<script> var $ret = $('#inner', $('#context')[0]); console.log($ret.selector); // #inner console.log($ret.context); // #context var $ret = $('#inner', '#context'); console.log( $ret.selector); // '#context #inner' console.log( $ret.context); // document </script> |
context 就是限定查找的范围
context 必须是一个DOM元素,context 底层还是用了.find方法来实现
官方API selector context is implemented with the .find() method,so $("span", this) is equivalent to $(this).find("span")
注:例子仅供展示,id类型查找非常快,所以不要用这种context,直接$('#inner')最好,当查找tag/class时用会比较高效.
六:Difference between 'delegate()' and 'live()'
delegate 指定了委托对象
live委托给了jQuery的context,1.9以后删除了,用on代替
一下三个效果一致
|
1
2
3
|
$(selector).live(events, data, handler); $(document).delegate(selector, events. data, handler); $(document).on(events, selector, data, handler); |
七:What is the effetcs (of fx) queue?
.queue([queueName])
官方API:Show the queue of functions to be executed on the matched elements.
Queues allow a sequence of actions to be called on an element asynchronously, without halting program execution. 最大的特点是这些代码异步执行,不影响后面代码操作,说白了就是将他们放入一个队列中
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
div { margin:3px; width:40px; height:40px; position:absolute; left:0px; top:60px; background:green; display:none; } div.newcolor { background:blue; } p { color:red; } <p>The queue length is: <span></span></p> <div id="box">1</div> <div style="top:120px;">2</div> <button id="start">start</button> <button id="end">end</button> |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<script> var $box = $('div'); function runIt() { $box.show() .animate({'left':"+=200"}, 2000) .queue(function(next){ $(this).addClass('newcolor'); next(); }) .slideToggle(1000) .slideToggle('fast') .animate({'left':"-=200"}, 2000) .queue(function(next){ $(this).removeClass('newcolor'); next(); }) .hide('slow') .show(200) .slideUp("normal"); } function showIt(){ var n = $box.queue(); $("span").text(n.length); setTimeout(showIt, 100); } function stopIt(){ $box.queue('fx', []); $box.stop(); } $('#start').click(function(){ runIt(); }); $('#end').click(function(){ stopIt(); }) showIt(); </script> |
八:attr和prop的区别
attr是操作属性节点,DOM的API setAttribute,getAttribute(HTML)
prop是操作获取到的对应js对象的属性 (JS)
场景:遇到要获取或设置checked,selected,readonly和disabled等属性时,用prop方法显然更好
prop
jQuery 常见面试题的更多相关文章
- jQuery常见面试题(转)
代码以jQuery 1.83 为例 一 :Q: What is the difference between .get(), [], and .eq()? A: eq返回原生jQuery对象,截取某些 ...
- 【javascript常见面试题】常见前端面试题及答案
转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...
- Vue常见面试题汇总
Vue框架常见面试题 1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么 ...
- java常见面试题及答案 1-10(基础篇)
java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...
- Web开发的常见面试题HTML和HTML5等
作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...
- 常见面试题之ListView的复用及如何优化
经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的.这次的 ...
- iOS常见面试题汇总
iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...
- JDBC常见面试题
以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...
- Mybatis常见面试题
Mybatis常见面试题 #{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是 ...
随机推荐
- MySQL Study之--Percona Server版本号
MySQL Study之--Percona Server版本号 1.简单介绍 Percona 为 MySQL 数据库server进行了改进.在功能和性能上较 MySQL 有着非常显著的提升. ...
- Apach POI 如何拿到有公式的单元格,计算结果
public static void getFormulaCellValue(){ FileInputStream fis = new FileInputStream("c:/temp/te ...
- Android签名机制之---签名验证过程具体解释
一.前言 今天是元旦,也是Single Dog的嚎叫之日,仅仅能写博客来祛除寂寞了,今天我们继续来看一下Android中的签名机制的姊妹篇:Android中是怎样验证一个Apk的签名. 在前一篇文章中 ...
- 程序C++ to C#交互
第一次用C#调用C/C++生成的DLL文件,感觉有点新鲜,事实上仅仅是实现了执行在公共语言执行库 (CLR) 的控制之外的"非托管代码"(执行在公共语言执行库(CLR)的控制之中的 ...
- 书评第003篇:《0day安全:软件漏洞分析技术(第2版)》
本书基本信息 丛书名:安全技术大系 作者:王清(主编),张东辉.周浩.王继刚.赵双(编著) 出版社:电子工业出版社 出版时间:2011-6-1 ISBN:9787121133961 版次:1 页数:7 ...
- 24Web前端架构
近来都是接触前端.所以学多点这方面的东西,虽说有实战到项目里面去了,但可能还没走到所谓正确的道路上去.欢迎交流. 转载请说明来着:http://blog.csdn.net/wowkk -------- ...
- udhcp详解源码(序)
最近负责接入模块,包括dhcp.ipoe和pppoe等等.所以需要对dhcp和ppp这几个app的源代码进行一些分析.网上有比较好的文章,参考并补充自己的分析. 这篇udhcp详解是基于busybox ...
- UVA 1400 1400 - "Ray, Pass me the dishes!"(线段树)
UVA 1400 - "Ray, Pass me the dishes!" option=com_onlinejudge&Itemid=8&page=show_pr ...
- ZFIND_EXIT_BADI
*&---------------------------------------------------------------------* *& Report ZFIND_EX ...
- [原创]java导出word的5种方式
在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享一下.总的来说,java导出word大致有5种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Ja ...