js基础常考面试题汇总(一)(附答案)

article/2025/5/15 22:47:21

1.值类型和引用类型的区别

//值类型
let a = 100
let b = a
a = 200
console.log(b) //100
//引用类型
let a = { age: 20 }
let b = a
console.log(a.age) //21
 值类型:number, string, boolean, null, undefined, symbol(ES6)引用类型:Object(对象的子类: Array, Function(对象的顶层类型), Reg, Date)。区别:
(1)值类型的变量重新赋值后,它的值不会改变,而引用类型的值重新赋值后会改变
(2)值类型是存储在栈中的,算是值的拷贝。引用类型是存储在堆中的,是值的引用。

2.typeof运算符作用

//判断所有值类型
let a;                  typeof a    //'undefined'
const str = 'abc';      typeof str  //'string'
const b = 100 ;         typeof b    //'number'
const c = true;         typeof c    //'boolean'
const s = Symbol('s');  typeof d    //'symbol'
//能判断函数
typeof console.log     //'function'
typeof function() {}   //'function'
//能识别引用类型(不能继续识别)
typeof null           //'object'
typeof ['a','b']      //'object'
typeof {x:100}        //'object'
作用:可以判断所有值类型,判断函数,能识别引用类型(不可细分)

3.instanceof 可判断对象的具体类型

karry instanceof object  //true
//*判断一个变量是数组
[] instanceof Array   //true[] instanceof Object  //true
{} instanceof Object  //true

4.truly变量和falsely变量

truly变量:!!a===true的变量
falsely变量:!!a===false的变量

在这里插入图片描述5.何时使用= = = 何时使用 = =

两等:当数据类型不一样时,会发生强制转换,然后比较值是否相等
三等:数据类型相同,数据的值也相同,不会发生类型转换,才能为true

在这里插入图片描述

6.原型
(1)原型指的是两个原型属性:

  • prototype: 显示原型属性,每个函数class都有显示原型prototype
  • proto: 隐式原型属性,每个对象实例都有隐式原型_proto_
  • 实例的_proto_指向对应class的prototype

(2)原型链
访问一个对象的属性时,先在自身属性中查找,找到返回,如果没有, 再沿着__proto__这条链向上查找, 找到返回,如果最终没找到, 返回undefined
7.闭包

闭包是指有权访问另一个函数作用域中的变量的函数。
创建闭包的方式就是在一个函数内部创建另一个函数
应用场景:放置在那些声明函数的环境里,被标记了进入环境没有标记离开环境的变量供函数使用
作用域应用的特殊情况,有两种表现:
函数作为参数被传递
函数作为返回值被传递

8.同步和异步的区别

基于js是单线程语言
异步不会阻塞代码执行
同步会阻塞代码执行

9.如何解决异步
异步问题: js在执行过程中,每遇到一个异步函数,都会将这个异步函数放入一个异步队列中,只有当同步线程执行结束之后,才会开始执行异步队列中的函数

解决异步

  • 回调函数
  • promise
  • generator(微任务)
  • async+await(可与promise混用)

10.遍历数组和对象的方法:

数组:
(1) for循环 用length测试数组的长度
(2) forEach() 需要一个函数作为参数,传递3个参数作用:
(正在遍历的对象,遍历的对象的索引,正在遍历的数组)
(3) map 遍历数组的每个元素,并回调,需要返回值,返回值组成新的数组,原数组不变
(4) filter() 不改变原始数组,返回新的数组
(5) for…of循环可以正确相应break,continue,return
(6) every() 返回一个boolean,判断每个元素是否符合条件(所有都判断,一false即返)
(7) some() 返回一个boolean,判断是否有元素是否符合func条件(有一个就行, 一true即返)
对象:
(1) For…in 遍历对象key值
(2) Object.keys(obj) 返回对象key值数组
(3) 对象合并 Object.assign():将一个或多个源对象复制到目标对象

以上面试题仅供个人学习,如有错误请指正。
喜欢的小伙伴点个赞呗,评论区留下宝贵的意见-谢谢呐♥~


http://chatgpt.dhexx.cn/article/S61IMstZ.shtml

相关文章

3道js经典面试题

第一道: var a 10; // 全局作用域,全局变量。a10function foo() {// var a //的声明将被提升到到函数的顶部。// 比如:var aconsole.log(a); // 打印 undefined// 实际初始化值20只发生在这里var a 20; // local scope}foo(); 看图说话: 第…

2022年js基础面试题---持续更新

目录 1.javascipt的数据类型 1.1基本类型 1.2引用类型 1.3存储方式的区别 1.4 undefined和null的区别 1.5JavaScript什么情况下会返回undefined值? 2.javaScript数据类型检测的方法 2.1 typeof 2.2 instanceof 3.创建函数的几种方式 3.1 函数声明式 3.2…

JS 基础面试题

JS 基础面试题 1、什么是JavaScript? 基于对象和事件驱动可解释性脚本语言 2、JavaScript与ECMAScript的关系? JavaScript是ECMAScript的表现,ECMAScript是JavaScript的规范 3、变量的命名规则? 1.名字见名知义,…

js基础面试题

一、JavaScript的基本数据类型 1、 基本类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 2、 引用数据类型:对象(Object)、数组(Arr…

【c++】atan2()和atan()函数

atan2(): (1)定义: double atan2(double y,double x); atan2() 函数的功能是求 y/x 的反正切值。atan2() 是 atan() 的增强版,能够确定角度所在的象限。 反正切函数 atan2() 和正切函数 tan() 的功能恰好…

asin、acos、atan 和 atan2 函数用法简介

函数名: asin 函数原型: double asin(double x); (x > -1 && x < 1) 功 能: 返回 x 的弧度制反正弦值 函数名: acos 函数原型: double acos(double x); (x > -1 && x < 1) 功 能: 返回的是一个数值的反余弦弧度值&#xff0c;其范围是 0…

atan2与atan的区别

目录 总结 atan2: Four-quadrant inverse tangent. atan 距离对比 总结 简而言之&#xff0c;atan2与atan的区别体现在两个方面&#xff1a; (1) atan2接收两个输入参数&#xff1b;atan只接收一个输入参数 (2) atan2对象限敏感&#xff0c;根据两个参数判断它是属于哪个象…

【Unity3D日常开发】Mathf.Atan2函数研究

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群&#xff1a;1040082875 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 最近有用到这个函数&#xff0c;就…

【计算几何】atan2函数

atan2函数 幅角 复数的模与辐角是复数三角形式表示的两个基本元素&#xff0c;复数所对应的向量长度称为复数的幅值&#xff0c;该向量与实轴正方向的夹角为复数的辐角。辐角的大小有无穷多&#xff0c;但是辐角主值唯一确定。利用复数的模和辐角&#xff0c;可以将复数表示成…

matlab atan2函数解析

旁边的图片显示内容是:在一个单位圆内atan2函数在各点的取值。圆内标注代表各点的取值的幅度表示。 图片中,从最左端开始,角度的大小随着逆时针方向逐渐从-π增大到+π,并且角度大小在点位于最右端时,取值为0。 另外要注意的是,函数atan2(y,x)中参数的顺序是倒置的,atan…

torch.atan2函数详细解答

先看看arctan arctan实际上是用来计算点(x&#xff0c;y)组成的向量&#xff0c;与x轴的弧度的&#xff0c;是tan的反函数&#xff0c;推导如下&#xff0c;α为弧度 ​ ​ yarctan(x)其图像如下 y为弧度&#xff0c;x为任意值&#xff0c;这里不是指上面的坐标x&#xff0c…

atan2相关知识汇总

1.atan2的含义 C 语言里 double atan2(double y,double x) 返回的是原点至点(x,y)的方位角&#xff0c;即与 x 轴的夹角。返回值的单位为弧度&#xff0c;取值范围为&#xff08;-π, π]。结果为正表示从 X 轴逆时针旋转的角度&#xff0c;结果为负表示从 X 轴顺时针旋转的角…

HPC超算初识思维导图

HPC是高性能计算(High Performance Computing)机群的简称。指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑&#xff0c;其基本组成组件与个人电脑的概念无太大差异&#xff0c;但规格与性能则强大许多。现有的超级计算机运算速度大都可以达到每秒一兆&#xff08;万…

超级计算机中心建设方案,超算中心建设框架

数据中心硬件建设框架 1.主要内容 华浩超算数据中心主要由基础硬件设施、超算影像处理系统及业务协同管理应用平台和安全保密体系组成。每个部分相互联系、相互依赖。目前具体建设内容如下&#xff1a; 内容一&#xff1a;基础硬件设施建设 1&#xff1a;机房及服务器集群建设 …

HPC超算网络资源

HPC超算资源 资源 Blue Water 超算William D. GroppOSU benchmarksTuning MPI Applications for Peak Performance W.D.Gropp苏黎世联邦理工 Scalable Parallel Computing LaboratoryNERSC超算文档资料HPC Wikipipeline-parallelism 课程 Design of Parallel and High-Perfor…

word文档中英文行间距不一样怎么解决

方法/步骤1: 在编辑文档时发现在有英文的段落中&#xff0c;行间距与没有要英文的不同&#xff0c;如图&#xff1a; 方法/步骤2: 该如何解决呢&#xff1f;首先鼠标选中有英文的段落&#xff0c;或者CTRLA全选&#xff1a; 方法/步骤3: 然后选中功能选项卡的开始选项卡&…

word文档中设置的行距一样但实际显示的不一样

最近发现了一个很奇怪的问题&#xff0c;思考了好久好久&#xff0c;找不到原因&#xff0c;果然还是对于office不够了解呀。 问题缘由 word2013中&#xff0c;同样一段文字&#xff0c;字体字号行间距都设置了相同的&#xff0c;但是为什么看起来行间距好像不一样&#xff1…

【word】复制到word的文字不能调整行间距(行间距过大)

问题&#xff1a; 复制到word的文字不能调整行间距&#xff08;行间距过大&#xff09; 原因&#xff1a; 行距和文档网格冲突了。行距是为了控制行距而存在的&#xff0c;文档网格是为了控制每页的行数而存在的。 解决方法是&#xff1a;在“段落”设置里把“对齐到文档网格“…