2024前端面试准备4-基础面试题

基础面试题总结


1. DOM是哪种数据结构,attr和property的区别
DOM是一个树结构;
property:修改对象属性,不会体现到html中
attr:修改html属性,会改变html结构
两者都有可能会引起DOM重新渲染。

2.var 和 let 、const的区别

  • var是ES5语法,let const是ES6语法, var有变量提升
  • var和let是变量可修改,const是常量,对于基本数据类型,const的值不会改变,如果是引用类型,可以修改对象的属性,不能重新赋值整个对象,原理就是const定义的引用类型持有的内存地址不可变,但是内存地址中的数据可以被改变。
  • let const有块级作用域,var没有

3.列举强制类型转换和隐式类型转换

  • 强制:parseInt、parseFloat、toString等
  • 隐式:if、逻辑运算、==、+ 拼接字符串等

4. 手写深度对比,模拟loadsh isEqual

function isObject(obj){return typeof obj === 'object' && obj !== null
}
function isEqual(obj1,obj2){if(!isObject(obj1) || !isObject(obj2)){return obj1 === obj2;}if(obj1 === obj2){return true;}const obj1Keys = Object.keys(obj1);const obj2Keys = Object.keys(obj2);if(obj1Keys.length !== obj2Keys.length){return false;}for(let key in obj1){const res = isEqual(obj1[key],obj2[key])if(!res){return false;}}return true;
}

5、[10,20,30].map(parsnInt)返回结果
结果 :[10 NaN NaN]
parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数

[10,20,30].map((num,index)=>{retuen parsnInt(num, index)
})

6.函数声明和函数表达式的区别
函数声明会在代码执行前预加载,函数表达式不会

7.什么是防抖和节流?有什么区别?应用场景?
防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。

function debounce(fn) {let timeout = null; return function () {clearTimeout(timeout); timeout = setTimeout(() => { fn.apply(this, arguments);}, 500);};}

节流(throttle):当持续触发事件时,保证一定时间段内只调用一次事件处理函数

function throttle(fn) {let timer = null; return function () {if (timer != null) return; timer = setTimeout(() => { fn.apply(this, arguments);timer = null;}, 500);};}

8. new Object() 和 Object.create()的区别
new Object 等同于{}, 原型 Object.prototype
Object.create(null) 没有原型
Object.create({…}) 可以指定原型

9. 网页加载过程
浏览器输入网址=>DNS解析域名为IP=>根据IP发送请求到服务器=>服务器返回页面资源=>解析HTML生成DOM树=>解析CSS生成CSSOM Tree=>合并Dom和CSS生成Render Tree(遇到js执行j s)=>完成页面加载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt/C++音视频开发76-获取本地有哪些摄像头名称/ffmpeg内置函数方式

一、前言 上一篇文章是写的用Qt的内置函数方式获取本地摄像头名称集合,但是有几个缺点,比如要求Qt5,或者至少要求安装了多媒体组件multimedia,如果没有安装呢,或者安装的是个空的呢,比如很多嵌入式板子&am…

优化 Django 模型设计:解决重复爬虫任务和商品数据

在开发数据采集(爬虫)应用时,我们常常面临这样一个问题:不同用户提交了相同的采集任务。为了避免在数据库中存储重复的 URL 和商品数据,我们需要优化模型设计。本文将介绍如何设计 Django 模型,以解决这个问…

java生成枚举类下拉框 - 供前端使用

生成枚举类代码 1. 创建通用model枚举类封装对象 package com.ruoyi.coordination.enums;import java.io.Serializable;public class SelectBean implements Serializable {private String seKey;private String seValue;public String getSeKey() {return seKey;}public voi…

食品元宇宙 - 重新定义食品产业的未来

在数字化和创新技术的驱动下,我们的生活方式正在发生翻天覆地的变化。"食品元宇宙"作为这一变革浪潮中的新星,旨在利用虚拟现实、增强现实以及数字孪生等技术,彻底改变我们对于食品产业的认知和体验。从农业生产到食品加工&#xf…

第49集《摄大乘论》

《摄大乘论》,和尚尼慈悲、诸位法师、诸位居士,阿弥陀佛!(阿弥陀佛!)请大家打开《讲义》第一六一页,乙五、彼修差别分。 这一科是正宗分的第五科彼修差别分。我们在讲这一科的内容之前,我们先把这一科的大…

C语言小例程10/100

题目&#xff1a;要求输出国际象棋棋盘。 程序分析&#xff1a;国际象棋棋盘由64个黑白相间的格子组成&#xff0c;分为8行*8列。用i控制行&#xff0c;j来控制列&#xff0c;根据ij的和的变化来控制输出黑方格&#xff0c;还是白方格。 #include<stdio.h>int main() {…

SAP 服务提供者 (Services Provider)接口测试笔记

文章目录 SAP 服务提供者 &#xff08;Services Provider&#xff09;接口测试笔记设置Content-Type授权SAP接口测试-SoapUI参数配置 SAP 服务提供者 &#xff08;Services Provider&#xff09;接口测试笔记 现在我在SAP里面公布了一些查询接口&#xff0c;现在就是要用SoapU…

MySQL之查询性能优化(十一)

查询性能优化 查询优化器的提示(hint) 如果对优化器选择的执行计划不满意&#xff0c;可以使用优化器提供的几个提示(hint)来控制最终的执行计划。下面将列举一些常见的提示&#xff0c;并简单地给出什么时候使用该提示。通过在查询中加入相应的提示&#xff0c;就可以抗旨该…

【AIGC+CAD】革新建筑、室内设计与建模领域的GenAI产品

一、产品定位 Augrade,一款专为建筑、室内设计和建模行业打造的AI CAD自动化工具。它凭借先进的AI技术,将2D蓝图迅速转化为精确的3D CAD模型,同时提供设计、成本分析的自动化以及全面的文档生成服务。Augrade致力于简化设计流程,确保技术可行性,并促进跨团队、跨工具的协…

Java Web学习笔记19——Ajax介绍

Ajax: 概念&#xff1a;Asynchronous JavaScript And XML 异步的JavaScript和XML。 作用&#xff1a; 1&#xff09;数据交换&#xff1a;通过Ajax可以给服务器发送请求&#xff0c;并获得服务器的响应数据。 2&#xff09;异步交互&#xff1a;可以在不重新加载页面的情况…

Hadoop+Spark大数据技术 实验11 Spark 图

17周期末考试 重点从第五章 scala语言开始 比如&#xff1a;映射&#xff08;匿名函数&#xff09; 11.3.1创建属性图 import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD //创建一个顶点集的RDD val users: RDD[(VertexId ,(String,String))] sc.paralle…

基于思通数科大模型的设备隐患智能检测:图像处理与声音分析的融合应用

在现代工业生产中&#xff0c;设备的稳定运行对保障生产效率和产品质量至关重要。然而&#xff0c;设备的老化、磨损以及异常状态的检测往往需要大量的人力和物力。思通数科大模型结合图像处理技术和声音分析技术&#xff0c;为设备隐患检测提供了一种自动化、高效的解决方案。…

一个训练好的神经网络的模型文件的内容主要是什么信息呢?请用大白话举例说明( 百度 API 回答 )

训练好的神经网络的模型文件&#xff0c;其实保存了神经网络学习到的“知识”和“经验”。用大白话来说&#xff0c;它主要保存了以下几类信息&#xff1a; 网络结构&#xff1a;这就像是神经网络的“骨架”或者“蓝图”&#xff0c;告诉计算机这个神经网络有哪些层&#xff0…

Docker 管理 | 代理配置、内网共享和 Harbor 部署

唠唠闲话 在现代软件开发和运维中&#xff0c;容器技术已经成为构建、部署和管理应用程序的标准工具。然而&#xff0c;在实际操作中&#xff0c;我们常常需要面对一些常见的挑战&#xff0c;如容器访问外部资源的代理配置、内网环境下的镜像共享以及企业级镜像管理。 本教程…

websocket 前端项目js示例

websocket前端 和服务端websocket通信示例&#xff0c; 前端直接使用h5的内置对象 WebSocket 来创建和管理 WebSocket 连接&#xff0c;以及可以通过该连接发送和接收数据。 这个对象都是是事件方式来处理和与后端交互数据&#xff0c; 他们分别是 onopen打开, onclose关闭, o…

关键字、保留字、标识符

关键字 关键字是被 Java 赋予了特定含义的英文单词。 关键字的字母全部小写。 保留字 现有的 Java 版本尚未使用&#xff0c;但是以后版本可能会作为关键字使用。自己命名标识符时需要避免使用这些保留字。 保留字有&#xff1a;byValue, cast, future, generic, inner, op…

Spring Boot整合WebSocket和Redis实现直播间在线人数统计功能

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

高精度加法的实现

这是C算法基础-基础算法专栏的第七篇文章&#xff0c;专栏详情请见此处。 引入 在C语言中&#xff0c;int的可存储数据范围是-2147483648~2147483647&#xff0c;long long的可存储数据范围是-9223372036854775808~9223372036854775807&#xff0c;但是如果一些数据比long long…

【TensorFlow深度学习】实现Actor-Critic算法的关键步骤

实现Actor-Critic算法的关键步骤 实现Actor-Critic算法的关键步骤&#xff1a;强化学习中的双剑合璧Actor-Critic算法简介关键实现步骤代码示例&#xff08;使用TensorFlow&#xff09;结语 实现Actor-Critic算法的关键步骤&#xff1a;强化学习中的双剑合璧 在强化学习的广阔…

Qt下调用Snap7库与西门子PLC通信

文章目录 前言一、Snap7源码下载二、Snap7的dll常用函数功能介绍三、Snap7Lib.pri模块的封装四、下载链接总结 前言 本文主要讲述了在Qt下调用Snap7库与西门子PLC进行通信&#xff0c;在这里将Snap7的源码与动态库整合在一起封装了一个自己的Snap7Lib.pri子模块&#xff0c;方…