前端面试基础面试题——7

简介: 前端面试基础面试题——7
1.一个 div,有几种方式得到这个 div 的 jQuery 对象?

根据id:("div#id")或("#id");

根据class:("div.class")或("div.class")或(".class");

根据标签名:$("div");

根据属性:$("div[attribute='value'"]。

2.是否知道自定义事件? jQuery 里的 fire 函数是什么意思,什么时候用?

第1种是把那个函数放到ready函数外面。yuan

第2种是在ready函数里面加上window.deleteStu = deleteStu;

即:  $(function(){ function deleteStu(id){ alert(id); } window.deleteStu =  deleteStu; }

callbacks.fire() 函数用于传入指定的参数调用所有的回调。

3.针对 jQuery 的优化方法?

缓存jquery对象,减少获取次数。

使用ID选择器去选择元素,因敏泛为它会直接侧泪映射为JavaScript中的getElemengById()

利用链式编程使得js更轻便。

使用子查询,缓存附件元素以便于后续的操作。

4.jQuery 通过哪个方法和 Sizzle 选择器结合的?

Sizzle 选择器采取 Right To Left 的匹配模式,先搜寻所有匹配标签,再判断它的父节点。

5.jQuery 对象的特点?

1.一款轻量级的js框架

JQuery核心js文件才几十kb,不会影响页面加载速度。与Extjs相比要轻便的多。

2.丰富的DOM选择器

JQuery的选择器用起来很方便,好比要找到某个dom对象的相邻元素js可能要写好几行代码,而JQuery一行代码就搞定了,再比如要将一个表格的隔行变色,JQuery也是一行代码搞定。

3.链式表达式

JQuery的链式操作可以把多个操作写在一行代码里,更加简洁。

4.事件、样式、动画支持

JQuery还简化了js操作css的代码,并且代码的可读性也比js要强。

5.Ajax操作支持

JQuery简化了AJAX操作,后台只需返回一个JSON格式的字符串就能完成与前台的通信。

6.跨浏览器兼容

JQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。

7.插件扩展开发

JQuery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前台页面上的组件都有对应插件,并且用JQuery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用。

8.可扩展性强

JQuery提供了扩展接口:JQuery.extend(object),可以在JQuery的命名空间上增加新函数。JQuery的所有插件都是基于这个扩展接口开发的。

6.介绍下 Promise. all 使用、原理实现及错误处理?

对于 Promise.all(arr) 来说,在参数数组中所有元素都变为决定状态后,然后才返回新的 promise。

错误处理:1、全部改为串行调用(失去了node 并发优势)

                  2、当promise捕获到error 的时候,代码吃掉这个异常,返回resolve,约定特殊 格式表示这个调用成功了。

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

JQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。

深度拷贝的方式(把extend函数的第一个参数设置为true),把p(对象)的属性合并到jQuery($)上。

$.extend(true,$,p);

8.jQuery 与 jQuery UI、jQuery Mobile 区别?

jQuery 是 JS 库,兼容各种浏览器,主要用作更方便地处理 DOM、事件、动画、AJAX(主要功能选择器、属性修改、事件绑定)。

jQuery UI 是建立在 jQuery 库上的一组用户界面交互、特效、小部件及主题。

jQuery Mobile 以 jQuery 为基础,用于创建“移动Web应用”的框架。

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

init()方法中返回的 this 指向 init 的实例对象,而init.prototype等于jQuery.prototype,所以也是jQuery的实例对象;  

返回this是为了实现链式调用。

10.jquery.extend 与 jquery.fn.extend 的区别?

extend:为jQuery添加类的方法,添加静态的方法。

fn.extend:为jQuery类添加“成员函数“,jQuery类的实列才可以调用这个”成员函数”。

extend的调用不会把方法扩展到对象实例上,引用它的放大需要通过jQuery类实现。

fn.exted的调用把方法扩展到对象的prototype上,所以实例化一个jQuery对象它就具有了这些方法。

相关文章
|
1月前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
66 1
|
3月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
4月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
2月前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
4月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
58 2
|
4月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
45 0
|
4月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
44 个 React 前端面试问题
|
4月前
|
存储 JavaScript 前端开发
|
4月前
|
Web App开发 存储 缓存
|
4月前
|
前端开发 应用服务中间件 API
"揭秘!面试官必问:你是如何巧妙绕过跨域难题的?前端代理VS服务器端CORS,哪个才是你的秘密武器?"
【8月更文挑战第21天】在软件开发中,尤其前后端分离架构下,跨域资源共享(CORS)是常见的挑战。主要解决方案有两种:一是服务器端配置CORS策略,通过设置响应头控制跨域访问权限,无需改动前端代码,增强安全性;二是前端代理转发,如使用Nginx或Webpack DevServer在开发环境中转发请求绕过同源策略,简化开发流程但不适用于生产环境。生产环境下应采用服务器端CORS策略以确保安全稳定。
59 0

热门文章

最新文章