前端面试基础题库——4

本文概述了JavaScript中的AJAX原理、浏览器同源策略、模块化开发、CSS媒体查询、递归、HTTPS工作原理、ReactRouter、事件循环、Promise和Vue中的计算属性与侦听器。这些技术是前端开发的重要组成部分,有助于构建高效、安全的Web应用。
摘要由CSDN通过智能技术生成

目录

三十一、JavaScript  中的 AJAX  原理及应用。

三十二、浏览器同源策略 (Same  Origin  Policy) 及其限制。 

三十三、JavaScript 中的模块化开发及其作用。

三十四、CSS  中的媒体查询及其作用。

三十五、JavaScript  中的递归及其应用。

三十七、React 中 的 Router  (路由器)及其作用。

 三十八、JavaScript  中的事件循环 (Event   Loop) 机制。

三十九、Vue 中的计算属性 (Computed)    和侦听器 (Watch)   的区别及其使用场景。

四十、JavaScript  中的 Promise  (承诺)及其作用。


三十一、JavaScript  中的 AJAX  原理及应用。

         JavaScript 中的 AJAX(Asynchronous  JavaScript  and  XML) 是一种用于创建异步请求和处理服务响应的技术,将数据发送到服务器和从服务器接收数据都是异步进行的,不会干扰页面的正常操作。AJAX 的原理基于 XMLHttpRequest   对象,可以使用原生 JavaScript 或者 jQuery 等库进行开发,在前端 Web  开发中应用广泛,可以用于实现动态网页、数据交互等功能。

三十二、浏览器同源策略 (Same  Origin  Policy) 及其限制。 

        浏览器同源策略是一种浏览器安全策略,用于保护用户信息不被恶意网站获取,限制了来自不同源(协议、域名、端口)的脚本、文档和请求等交互操作。同源策略的限制包括不能读取非同源网站的Cookie、 不能向非同源网站发送 AJAX 请求、不能访问非同源网站的 DOM  树等。

三十三、JavaScript 中的模块化开发及其作用。

        JavaScript 中的模块化开发是一种将代码分离成更小、更容易管理的块的一种方法,可以将代码分成独立的模块,同时可以避免全局变量污染和命名冲突等问题。 JavaScript 中的模块化开发有多种实现方式,包括 AMD、CommonJS和 ES6 模块等。

三十四、CSS  中的媒体查询及其作用。

        CSS 中的媒体查询是一种用于在不同的媒体设备或屏幕大小下应用不同样式的一种方式。媒体查询通过 使用@ media 规则,可以指定一个或多个条件,当满足时则应用后面的样式内容。媒体查询的作用包括适配不同设备,提高页面响应能力,优化用户体验等。

三十五、JavaScript  中的递归及其应用。

        JavaScript 中的递归是一种在函数之内调用自身的行为,可以用于处理具有递归结构的数据或操作。递 归的应用包括处理复杂的数学计算、解决复杂的问题(如数据搜索、遍历、排序等)和处理复杂的数据结构等。递归需要注意的问题包括栈溢出、递归停止条件、递归深度等。

三十六、HTTPS  的工作原理。 

         HTTPS  是一种基于加密通信的安全协议,用于保护网络通信安全。

         HTTPS的工作原理可以分为以下个步骤:

                首先,客户端向服务器发起 SSL 连接请求;

                然后,服务器将 SSL证书发送给客户端,客户端验证证书的合法性;

                接着,客户端随机生成一个对称加密算法的密钥,并使用公钥加密后发送给服务器;服务器使用私钥解密后获取密钥,并使用密钥加密数据发送给客户端;

                最后,客户端使用密钥解密数据,并进行数据校验。

三十七、React Router  (路由器)及其作用。

        React 中的 Router 是一种用于处理路由的库,可以根据 URL 显示不同的组件和内容,提供 SPA(Single Page Application)的体验。 

        React 中的 Router 包括 BrowserRouter、HashRouter、MemoryRouter  等组件,可以实现不同的路由方式和操作。

 三十八、JavaScript  中的事件循环 (Event   Loop) 机制。

         JavaScript 中的事件循环机制是一种异步编程模型,用于处理事件、回调函数等异步执行的任务。事件 循环机制基于事件循环队列实现,包括宏任务和微任务两种类型,通过不断地取出队列中的任务依次执行来实现异步处理任务。

三十九、Vue 中的计算属性 (Computed)    和侦听器 (Watch)   的区别及其使用场景。

         Vue 中的计算属性和侦听器都可以用于监控数据变化,但二者的区别在于,计算属性返回计算后的值, 侦听器执行一段逻辑操作。计算属性适用于处理某些数据需要计算才能得到的场景,如价格折扣、数据筛选等;侦听器适用于处理数据更改后需要执行一些额外逻辑的场景,如数据请求、复杂操作等。

四十、JavaScript  中的 Promise  (承诺)及其作用。

         CSS  Flexbox 布局(又称 Flex 布局)是一种用于实现灵活和响应式布局的 CSS3  特性,可以实现各复杂的布局,并且适用于所有的终端设备和屏幕尺寸。 

        Flexbox 可以通过定义容器和子元素的属性来实现元素之间的布局关系。 Flexbox 引入了以下几个概念:

        ● Flex 容器:包裹 Flex  元素的父元素,用于定义 Flex  元素的布局。

        ● Flex 元素: Flex  容器的子元素,用于定义 Flex  元素的大小、位置等属性。

        ● 主 轴 (Main  Axis): 定义 Flex  容器的主要方向。

        ● 交 叉 轴 (Cross  Axis):  与主轴垂直的轴,用于实现元素在主轴上的对齐。

        使用 Flex 布局可以通过设置 display: flex 来定义 Flex 容器,从而实现元素之间的灵活布局和响应式设计。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下次一定L_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值