当前位置: 首页 > news >正文

面试 | JS 面试题 整理(更ing)2/34


 JS 的数据类型 及 区别

分为两种类型:基本类型、引用类型

区别:存储位置不同

基本类型(6种):String、Number、Boolean、Null、Undefined、Symbol、 BigInt  
  • BigInt : 表示任意大小的整数,可以安全地存储和操作大整数。

  • Number 有一个特殊类型 NaN 不是数值。
  • Boolean 布尔值,所有类型都可以转为布尔值。
  • Null 类型只有一个值—— 特殊值 null,表示空对象指针,typeof null 返回 "object"。(可用于 变量保存对象,当时没有那个对象可保存,就用 null 来填充该变量。)
  • Symbol,符号,符号实例是唯一、不可变的。确保对象实例使用唯一标识符,不会发生属性冲突的风险。

Boolean,可以 将其他类型 转化为布尔值

  • Undefined 类型中,NaN 转为true,undefined 转为false
  • Number,非零数值为true,0 和 NaN为 false
  • String中,有值都是 true,"" 空字符串为 false

声明变量 但未初始化,则相当于给变量赋值 undefined

未定义变量 和 声明了未初始化的值 是有区别的。前者使用会报错,后者会返回undefined。

undefined 是由 null 派生而来的。——》 console.log(null == undefined);        // true  

引用类型:Object、Function、Array。——》函数和数组

Object 对象

Array 数组,js中 数组中的每个槽位可以存储任意类型的数据。且动态大小,可随数据添加而自动增长。

Function 函数,实际上也是对象,常见的三种表达方式是 函数声明function xx(){} 、函数表达式 let xx = function(){}、箭头函数 let xxx = ()=>{}

其他引用类型:Date日期、RegExp 正则、Map 映射、Set 集合

存储区别:基本类型在 中,引用类型在 中。

将基本类型的值 a 赋值给基本类型的 b,两个变量的值相等,但是两个变量保存在不同的内存地址中

引用类型赋值过程中,实际是将堆内存对象在栈内存的引用地址复制一份,指向同一个堆内存地址。修改其中一个,会对另一个进行影响。

不同的内存地址分配

简单类型在 栈中,栈存放的是值

引用类型对应的值存放在堆中,栈中存放内存地址

不同类型数据导致赋值变量时的不同:

简单类型赋值,会生成相同的值,两个内存地址

复杂类型赋值,是将保存对象的内存地址赋值给另一个变量,两个变量指向堆内存中的一个对象(保存在同一个地址)


数组的常用方法:4增4删1改 3查 + 2排序 + 1转换 + 5迭代

4增4删1改 3+查

前三会改原数组,后一不变push、unshift、splice concat 

前三会改,后一不会改变原数组:pop、shift、splice、slice

splice

find、indexOf、includes

unshift  面添加值

concat 会创建当前数组的副本,然后 将参数添加到 在副本的后面,返回构建的数组,不影响原始数组

splice(开始索引,删几个,添加的元素),返回删除的元素,对原数组产生影响

shift   删除数组的第一项 


find 返回 第一个匹配的元素  ——》 find( (item,index,array) => item过滤值的某种条件) 

indexOf 根据值 查索引,没有搜到返回 -1  ——》要查找的元素 在数组中的位置

includes 包含某值,有则 返回 true ——》 返回要查找的元素在数组中的位置,有则 返回 true,否则 false

2排序:① reverse 反转,② sort 会接收一个比较函数

sort(a>b) 即表示 从小到大 sort(a>b?1:-1) a>b 时 进行换位置,a>b 不成立时 保持不变。——》接收一个比较函数,用于判断哪个值应该排在前面

1转换: join('字符串分隔符')
5迭代(不改原数组):some、every、forEach、filter、map

some 有一成立,则返回 true ——》一真即真——( some( (item,index,array) => 条件)

every 遍历每项,都成立才返回 true ——》一假即假

forEach 遍历每一项执行...  没有返回值

filter,返回成立的那一项。【some 返回 true,函数返回 true 的项 会组成数组之后 返回】

map,对每一项执行什么【类似于 forEach,但有返回值,返回由函数调用的结果构成的数组


JS 字符串的常用方法

正则 . 表示匹配任意字符


http://www.dtcms.com/a/278805.html

相关文章:

  • Android 16系统源码_窗口动画(二)窗口显示动画源码调用流程
  • 护照阅读器:国外证件识别的 OCR “解码师”
  • Python 中调用阿里云 OCR(Optical Character Recognition,光学字符识别)服务
  • STM32介绍和GPIO
  • stm32-Modbus主机移植程序理解以及实战
  • argus/nvarguscamerasrc 远程显示报错
  • 项目一第一天
  • 纯数学专业VS应用数学专业:这两个哪个就业面更广?
  • C++后端面试八股文
  • Linux 基础命令详解:从入门到实践(1)
  • JAVA 并发 ThreadLocal
  • RestAssured(Java)使用详解
  • 19.数据增强技术
  • 管程! 解决互斥,同步问题的现代化手段(操作系统os)
  • Java行为型模式---模板方法模式
  • Imx6ull用网线与电脑连接
  • SpringBoot JAR 反编译替换文件
  • 【嵌入式汇编基础】-操作系统基础(三)
  • 【每日刷题】移动零
  • LabVIEW-Origin 船模数据处理系统
  • 【爬虫】Python实现爬取京东商品信息(超详细)
  • 期权和期货的区别主要是什么?
  • [论文阅读] 人工智能 | 用大型语言模型玩转多语言主观性检测:CheckThat! 2025赛事中的亮眼表现
  • Unity3D + VS2022连接雷电模拟器调试
  • 【PTA数据结构 | C语言版】字符串连接操作(不限长)
  • 分布式一致性协议
  • Android动画:属性动画以及实现点击图标缩放的动画效果
  • Relocations in generic ELF (EM: 40)
  • “国乙黑月光”指的是谁?
  • YOLOv11调参指南