jquery的几道面试题

news/2024/7/10 23:08:05 标签: jquery, javascript, 前端

1、 jQuery 库中的 $() 是什么?

$ ()是 jQuery() 函数的别称。$() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。

2.$(document).ready() 是个什么函数?为什么要用它?

这个问题很重要,并且常常被问到。 ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题
只有使用 $ (document).ready()函数将我们的代码包裹起来,等我们页面的DOM元素加载完毕之后才能加载我们的jQuery代码。我们的 ( d o c u m e n t ) . r e a d y ( ) 可 以 简 写 为 (document).ready()可以简写为 (document).ready()(function(){});效果是一样的

3. JavaScript window.onload 事件和 jQuery ready 函数有何不同?

这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。

另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。

4. 你如何利用jQuery来向一个元素中添加和移除CSS类?

通过利用 addClass() 和 removeClass() 这两个 jQuery 方法。

5.$(this)和 $this的区别

(this)是jquery对象,this就是简单指当前元素。
首先来看看JQuery中的 ( ) 这 个 符 号 , 实 际 上 这 个 符 号 在 J Q u e r y 中 相 当 于 J Q u e r y ( ) , 即 () 这个符号,实际上这个符号在JQuery中相当于JQuery(),即 ()JQueryJQuery,(this)=jquery();也就是说,这样可以返回一个jquery对象
this其实是一个Html 元素。t h i s 只 是 个 变 量 名 , 加 this 只是个变量名,加this只是个变量名,加是为说明其是个jquery对象。而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作

7 .哪种方式更高效:document.getElementbyId(“myId”) 还是 $("#myId")?

第一种,因为它直接调用了 JavaScript 引擎

8. 你是如何将一个 HTML 元素添加到 DOM 树中的?(答案如下)

你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。


http://www.niftyadmin.cn/n/1371545.html

相关文章

vue的MVVM模式

什么是MVVM MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。 MVVM分为三个部分:分别是M(Model,模型层 ),V(View,视图层),VM(ViewModel&#…

vue2的Object.defineProperty和vue3的Proxy双向绑定

vue2的Object.defineProperty和vue3的Proxy双向绑定这两种都是基于数据劫持实现的双向绑定 什么是数据劫持 当访问或者设置对象的属性的时候,触发相应的函数,并且返回或者设置属性的值。vue通过Object.defineProperty来劫持对象属性的getter和setter操作…

面试题:Vue虚拟Dom

什么是虚拟dom 虚拟dom本质上就是一个普通的JS对象,用来描述视图上应该有哪些界面结构,并不生成界面。我们可以在生命周期「mounted阶段」打印一下this._vnode,如下: 在vue中,每个组件都有一个render函数,…

面试题:diff算法

什么是diff算法 diff算法是一个Virtual DOM的加速器,其算法的改进优化是React整个界面渲染的基础和性能的保障,同时也是React源码中最神秘的,最不可思议的部分。vue中,diff算法就是让新虚拟dom, 和旧的虚拟dom相比较。 vue中dif…

面试题:说一说es6新增方法

1.let,const 2.解构赋值 3.Symbol数据类型(用来表示唯一的值) 4.箭头函数(写法,和普通函数this的指向问题) 6.for of for of和for in的区别 1.for in 返回的是索引 for of返回的时对象 2.for of 时用于遍历素组的不…

面试题:介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?

CSS盒子模型: 外边距(margin) 内边距(padding) 边框(border) 内容区(width、height) CSS盒子模型与低版本IE的盒子模型的区别主要在于:宽和高不一样 标准的CSS的盒子模型的宽高:内容区的宽高 低版本IE的盒子模型的宽高:内容区内边距边框

面试题:说一说css3新增属性

1.border-radius 2.box-shadow 3. background-image 4.background-size 5.background-origin(规定背景图片的定位区域。) 6.background-clip (规定背景的绘制区域。) 7.渐变(gradients) 8.transitio…