JS面试真题 part1

news2024/9/21 9:38:34

JS面试真题 part1

  • 1、说说JavaScript中的数据类型,储存上的差别
  • 2、说说你了解的js数据结构
  • 3、DOM常见的操作有哪些
  • 4、说说你对BOM的理解,常见的BOM对象你了解哪些
  • 5、== 和 === 区别,分别在什么情况使用

1、说说JavaScript中的数据类型,储存上的差别

自己回答:
JavaScript分为基础类型引用类型
基础类型:boolean、number、string、null、undefined、symbol、bigInt
引用类型:数组、函数、对象、正则表达式等
基础类型储存在栈内,引用类型存在堆内,只有地址存在栈内,俩个值指向同一个地址,是共用一个堆内数据,会互相影响。

与标准差不多

2、说说你了解的js数据结构

自己回答:

  • 数组
  • 栈 (后进先出)
  • 队列(先进先出)
  • 链表

标准回答:

补充:

  • 字典 (键-值对存储)
  • 散列表 (也称哈希表,储存时,键是数字,这个数字范围是0到散列表的长度)

3、DOM常见的操作有哪些

自己回答:

  • 获取dom元素
  • 查询dom元素
  • 新建dom元素
  • 修改dom元素
  • 删除dom元素

标准回答:

  • 创建节点:createElement、createTextNode、createDocumentFragment、createAttribute
  • 添加节点:innerHTML(替换原来内容,如果原来是空,相当于添加)、appendChild、insertBefore、setAttribute
  • 查询节点:querySelector、querySelectorAll
  • 更新节点:innerHTML、innerText、textContent、style
  • 删除节点:removeChild

4、说说你对BOM的理解,常见的BOM对象你了解哪些

自己回答:
DOM文档对象,BOM浏览器对象
常见的BOM对象:window、nav、history、screen

标准回答:
是什么:BOM是浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象。其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口变化,滚动条的滚动,以及获取客户的一些信息,如:浏览器品牌版本,屏幕分辨率

常见的BOM对象:window、location、navigator、screen、history

5、== 和 === 区别,分别在什么情况使用

自己回答:
== 值相等(等于),类型可以不同,=== 值和类型完全相同(全等)
严格要求值和类型都相等的时候使用 ===
特殊:NAN == NAN (false)NAN === NAN (false)
null==undefined (true)

标准回答:

1、等于操作符用俩个等于号表示(==),如果操作数相等,返回 true
比较前会进行隐式转换

  • 如果任一个操作数式布尔值,将其转化为数值再比较
  • 如果一个是字符串,一个是数值,则将字符串转成数值,再比较
  • 如果一个是对象,一个不是,则调用对象的valueOf()方法取得原始值,如
    在这里插入图片描述
  • null==undefined (true)
  • 如果任一操作符是NAN,返回false
  • 如果两个操作数都是对象,则比较是不是同一个对象

总结:

  • 两个都是简单类型,字符串和布尔值都会转换成数值
  • 简单类型和引用类型比较,对象转化成其原始类型的值
  • 两个都是引用类型,则比较它们是否指向同一个对象
  • null和undefined相等
  • 存在NaN则返回false

2、全等操作符用三个等于号表示(===),只有两个操作在不转换的前提下相等才返回true。即类型相同,值也相同

  • null===undefined (false)

3、区别:

  • 相等运算符(==)会做类型转换,再进行值的比较,全等运算符不会进行类型转换
  • null和undefined比较,相等(==)为true,全等为false
  • 相等运算符隐藏的类型转换,会带来一些违反直觉的结果
    在这里插入图片描述
    但在比较null的情况的时候,我们一般使用==
    在这里插入图片描述
    所以,除了比较属性为null或undefined的情况下,我们使用相等操作符,其他情况建议全等操作符。

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

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

相关文章

K8s的Pv和Pvc就是为了pod数据持久化

一、 1.pv(persistent volume):是k8s虚拟化的存储资源,实际上就是存储,列如本地的硬盘、网络文件系统(Nfs)、lvm、RAID、云存储。 2.pvc:pod对存储资源的请求,定义了需…

MyBatis:解决数据库字段和Java对象字段不匹配问题及占位符问题

MyBatis:解决数据库字段和Java对象字段不匹配问题及占位符问题 文章目录 MyBatis:解决数据库字段和Java对象字段不匹配问题及占位符问题一、数据库字段和Java对象字段不匹配问题1、问题描述2、解决方案2.1、方案12.2、方案22.3、方案3 二、占位符问题1、…

ELK在Linux上部署教程

Docker Compose搭建ELK Elasticsearch默认使用mmapfs目录来存储索引。操作系统默认的mmap计数太低可能导致内存不足,我们可以使用下面这条命令来增加内存 sysctl -w vm.max_map_count262144创建Elasticsearch数据挂载路径 mkdir -p /echola/elasticsearch/data对…

Day 3 - 5 :线性表 — 单链表

存储结构 将线性表中的各元素分布在存储器的不同存储块,称为结点。 结点的data域存放数据元素ai,而next域是一个指针,指向ai的直接后继ai1所在的结点。 如果要删除a1,只要修改a1前手元素指针的指向即可。 例如:需要找到…

案例——Mysql主从复制与读写分离

目录 一、为什么需要主从复制 二、主从复制原理 2.1复制类型 2.2mysql主从复制的工作过程 2.2.1mysql主从复制延迟 2.3mysql的三种同步方式 2.3.1异步复制 2.3.2同步复制 2.3.3半同步复制 2.4mysql应用场景 三、主从复制实验 3.1主从服务器事件同步 3.1.1master服务…

Web 地图服务 简介

网络地图服务 网络地图服务 由通过互联网托管的地理空间数据组成,其标准由开放地理空间联盟 (OGC) 制定。WMS 支持在 Web 浏览器中以地图或图像的形式交换空间信息并通过 Web 查看。 网络地图服务有很多种类型。例如,一些最常见的格式是 WMS、WFS、WCS…

C140 杨辉三角

C140 杨辉三角 题目题解(94)讨论(102)排行面经 new 简单 通过率:29.57% 时间限制:1秒 空间限制:256M 知识点C工程师牛客 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,…

tomato靶场攻略

1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉&#xff0…

Java对象拷贝的浅与深:如何选择?

在日常开发中,我们经常需要将一个对象的属性复制到另一个对象中。无论是使用第三方工具类还是自己手动实现,都会涉及到浅拷贝和深拷贝的问题。本文将深入讨论浅拷贝的潜在风险,并给出几种实现深拷贝的方式,帮助大家避免潜在的坑。…

SpringBoot开发——整合Logbook进行HTTP API请求响应日志输出

文章目录 1. 简介依赖管理2. 实战案例2.1 基本用法2.2 结合Logback日志记录到文件2.3 自定义核心类Logbook2.4 自定义日志输出Sink2.5 与RestTemplate集成1. 简介 记录HTTP API请求响应日志对于监控、调试和性能优化至关重要。它帮助开发者追踪API的使用情况,包括请求来源、参…

基于ssm+vue+uniapp的“健康早知道”小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

好尴尬,借用的轮子在我这里还是没有运行起来

前期引用flask框架,由于版本不兼容,像是捅了flask-bug的窝。一开始是减低版本,然后一换卡一环,直接百度,试了很多办法都没有成功。 之后添加语句 下面展示一些 内联代码片。 # -*— coding:utf-8 -*— from datetime…

四战搜索,抖音难造“百度”

转载:新熵 原创 作者丨余寐 编辑丨九犁 抖音搜索野心暴露无遗!接连4次发起猛攻,这是要颠覆搜索市场的节奏?还是因为流量触顶,急寻新入口? 执念太深!抖音还是没放弃搜索,并发起一场…

人工智能在C/C++中的应用

随着技术的飞速发展,人工智能(AI)已经成为我们日常生活中不可或缺的一部分。从智能手机的语音助手到自动驾驶汽车,AI的应用无处不在。在众多编程语言中,C和C因其高性能和灵活性,成为实现复杂AI算法的理想选…

回调函数是什么,为什么要有回调函数?有什么优缺点?回调的本质是什么?

目录 前言 一、回调函数是什么? 二、为什么要有回调函数? 三、回调函数的优缺点 四、回调的本质是什么? 五、回调函数的实现方式 六、函数指针、Lambda 表达式、std::function: std::function这三者有什么不一样 1. 函数指…

仪表盘echarst

var bgColor #041F34,borderColor "#fff"let dataVal20 option {backgroundColor: bgColor,color: [borderColor],title: [{text: 处理率,x: center,top: 40%,textStyle: {color: #FFE600,fontSize: 56,fontWeight: 600,},},],series: [{type: pie,zlevel: 1,radi…

数据结构----高度为h的m叉树(记录一题)

(1)各层结点个数: 类比二叉树可得: 所以各层结点个数: (2)编号为i的结点的双亲结点(若存在)的编号是多少? 若存在表示:i>1(根节点没有双亲结点) 假设i结点有左兄弟和右兄弟&a…

javaweb项目1

1.配置servlet 注意:需要在web.xml进行操作。 2.执行原理 3.五个方法 1.init 在servlet创建的时候,执行,并且只执行一次。 init 方法可以用来执行 Servlet 的初始化逻辑,比如: 读取配置参数初始化数据库连接加载资…

深入理解Docker核心原理:全面解析Docker Client

随着云计算与容器技术的飞速发展,Docker已经成为软件开发、部署和运维中的重要工具之一。在Docker的架构中,Docker Client作为用户操作Docker系统的接口,起着至关重要的作用。本文将详细解析Docker Client的核心原理、工作机制、常用命令以及…

Ignis公链探索生态建设新范式:产业区块链与GameFi双轨驱动

Ignis公链凭借其独特的技术架构,选择了产业区块链与GameFi这两个赛道作为生态建设的双轮驱动,逐步形成了一个多元化的Web3生态系统。 一、产业区块链的革新:Vessel Chain的成功案例 在产业区块链领域,Ignis公链通过推出Vessel Ch…