jquery 面试,web前端jquery面试题

  jquery 面试,web前端jquery面试题

  本文总结了一些基于jQuery的前端面试与大家分享,包括jQuery常见面试问题和移动端常见问题。希望对你有帮助!

  jQuery前端面试——含移动端常见问题

  

1、JQuery的源码看过吗?能不能简单概况一下它的实现原理?

  (函数(窗口,未定义){

  //将其包装在一个函数域中,也就是所谓的沙箱

  var在这里定义的变量属于这个函数域的局部变量,避免全局污染。

  //通过函数参数引入当前沙箱需要的外部变量。

  //只要保证参数内部提供的接口的一致性,也可以任意替换传入的参数。

  window.jQuery=window。$=jQuery

  })(窗口);Jquery在jquery.prototype中封装了一些原型属性和方法,为了缩短名称,将其赋给jquery.fn,这是一种非常形象的写法。经常使用一些数组或对象方法,jQuery将它们保存为局部变量以提高访问速度。jquery实现的链式调用可以节省代码,返回的对象都是同一个对象,可以提高代码效率。jquery的优势是链式操作,隐式迭代

2、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?

  

3、jquery中如何将数组转化为json字符串,然后再转化回来?

  

4、jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

  

、jQuery中的$.extend浅拷贝

   $。extend (a,b):

、jQuery中的$.extend深拷贝

   $。extend(真,a,b)010-1000。比如jQuery.extend({

  min:函数(a,b) {返回a b?甲:乙;},

  max: function(a,b) { return a b?甲:乙;

  });

  jQuery.min(2,3);//2

  jQuery.max(4,5);//5jQuery.extend (target,object1,[objectn])用一个或多个其他对象扩展一个对象,并返回扩展的对象。var settings={ validate: false,limit: 5,name: foo };

  var options={ validate: true,name: bar };

  jQuery.extend(设置,选项);结果:settings=={validate: true,limit: 5,name: "bar"}:

5、jquery.extend 与jquery.fn.extend的区别?

   $。这是什么?$.fn是指jQuery的命名空间,fn上的成员(方法函数和属性)对于每个jQuery实例都是有效的。看看jQuery代码,不难发现。jQuery.fn=jQuery.prototype={

  init:函数(选择器,上下文){//.

  };原来jQuery.fn=jQuery.prototype因此,它是jQuery.prototype的扩展,即在jQuery类中增加了“成员函数”。jQuery类的实例可以使用这个“成员函数”。

、jQuery.extend(object);

   jquery . fn . extend(object);扩展jQuery对象方法jQuery.extend扩展jQuery全局方法

、jQuery.fn.extend(object);

   var _slideFun=[

  函数(){

  $(.一个)。延迟(500)。动画({

  顶部:=270像素

  },500,_ takeOne);

  },

  函数(){

  $(.两个)。延迟(300)。动画({

  顶部:=270像素

  },500,_ takeOne);

  }

  ];

  $(#demo )。queue(slideList ,_ slide fun);

  var _ takone=function(){

  $(#demo )。出列( slide list );

  };

  _ takeOne();

、区别

  上的方法描述封装了兼容的事件绑定方法。绑定选定元素上的一个或多个事件的事件处理函数bind(type,[data],fn)绑定每个匹配元素的特定事件的事件处理函数live(type,[data],fn),并将事件处理函数附加到所有匹配元素。即使后来添加了此元素,也要向delegate指定的元素添加一个或多个事件处理程序(选择器,[类型],[数据],fn),并指定发生这些事件时要运行的不同函数:

  该方法表明。bind()直接绑定到元素,而。live()通过冒泡绑定到元素。更适合列表类型的那个被绑定到文档DOM节点。的优点。绑定()和。bind()支持动态数据。delegate()是小规模使用的更准确的事件代理,其性能优于。直播()。on()是最新的1.9版本,新的事件绑定机制,整合了之前的三种方式

6、jQuery 的队列是如何实现的?队列可以用在哪些地方?

  

7、谈一下Jquery中的bind(),live(),delegate(),on()的区别?

  。与Id选择器相比,基于类的选择性性能开销很大,因为它需要遍历所有

  经常操作的DOM,操作前缓存。最好使用Jquery的链式调用。

  例如:

  var str=$(a )。attr( href );

  for(var I=size;长度;I) {}for循环每个循环查找。数组(arr)的长度属性。在循环开始时设置一个变量存储这个数,可以让循环运行得更快:for (var I=size,length=arr.lengthI长度;I) {}

8、JQuery一个对象可以同时绑定多个事件,这是如何实现的?

   jQuery是一个js库,主要提供选择器、属性修改、事件绑定等功能。JQuery UI是在JQuery基础上设计的插件,利用了它的扩展性。提供了一些常用的界面元素,如对话框、拖动行为、调整大小行为等。JQuery本身注重背景,没有漂亮的界面,而jQuery UI则补充了前者的不足,它提供了华丽的展示界面,让人更容易接受。既有强大的后台,也有华丽的前台。jQuery UI是JQuery插件,但只是指JQuery官方维护的面向UI的插件。

9、针对jQuery性能的优化方法?

  

10、Jquery与jQuery UI 有啥区别?

   tap,singleTap,doubleTap,longTap

  

11、jQuery和Zepto的区别?各自的使用场景?

   swipe,swipeLeft,swipeRight,swipeUp,swipeDown

  

、tap事件

  

、Swipe事件

  

12、Zepto的点透问题如何解决?

  方案一:直截了当。github上有个fastclick可以完美解决。

  window.addEventListener( load ,function() {

  fast click . attach(document . body);

  },假);方案二:用touchend替换tap事件,停止touchend的默认行为preventDefault()

  方案三:延迟一定时间(300ms)处理事件。

  

、“点透”是什么

  

、点透的解决方法:

  

13、移动端最小触控区域是多大?

  

14、jQuery 的slideUp动画,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?

  

15、移动端的点击事件的有延迟,时间是多久,为什么会有?怎么解决这个延时?

  方法描述get是jquery []中把jquery对象转换成原生对象的方法,eq()是通过获取数组值把jquery对象转换成原生对象的方法。从对象列表中获取jquery dom对象

16、你从jQuery学到了什么?

  

17、请指出.get(),[],eq() 的区别。

  

18、请指出$ 和$.fn 的区别,或者说出$.fn 的用途。

  

19、jQuery取到的元素和原生Js取到的元素有什么区别

  

20、原生JS的window.onload与Jquery的$(document).ready(function(){})有什么不同?如何用原生JS实现Jq的ready方法?

  函数就绪(FN) {

  if(document . addevent listener){//标准浏览器

  document . addevent listener( DOMContentLoaded ,function() {

  //注销事件,避免重复触发。

  document . removeeventlistener( DOMContentLoaded ,arguments.callee,false);

  fn();//执行函数

  },假);

  } else if(document . attach event){//IE

  document . attach event( onreadystatechange ,function() {

  if(document . ready state== complete ){

  document . detachevent( onreadystatechange ,arguments . callee);

  fn();//函数执行

  }

  });

  }

  };(学习视频分享:web前端教程)以上是基于jQuery总结分享的一些前端面试细节(包括移动端常见问题)。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用jquery实现图片轮播效果如何,jQuery图片轮播
  • 使用jquery实现图片轮播效果如何,jQuery图片轮播,使用jQuery实现图片轮播效果
  • 举例说明jquery中each函数的使用,jquery each()
  • 举例说明jquery中each函数的使用,jquery each(),JQuery中each()的使用方法说明
  • 一篇文章带你了解jquery动画人物,一篇文章带你了解jquery动画制作
  • 一篇文章带你了解jquery动画人物,jquery的动画,一篇文章带你了解jQuery动画
  • trigger的用法总结,jquery trigger 传参数
  • trigger的用法总结,jquery trigger 传参数,jQuery中值得注意的trigger方法浅析
  • js hover 触发事件显示另一元素,js hover 触发事件,jQuery中多个元素的Hover事件解决方案
  • js apply 实现原理,jquery apply用法_1
  • js apply 实现原理,jquery apply用法
  • js apply 实现原理,jquery apply用法,js中apply方法的使用详细解析
  • js apply 实现原理,jquery apply用法,JS中apply()的应用实例分析
  • jq获取radio选中的值,jquery radio 取值
  • jq获取radio选中的值,jquery radio 取值,Jquery获取radio选中值实例总结
  • 留言与评论(共有 条评论)
       
    验证码: