- 创建对象的方法有哪些?
使用 new 关键字调用构造函数创建对象,构造函数是专门用于初始化和创建对象的函数。
使用对象字面量方式创建对象,通过一对大括号 {} 定义对象,内部包含对象的属性和方法。
使用工厂方法创建对象,通过封装函数批量创建对象,统一返回对象实例。 - 数组是什么?声明数组的方法有几种?如何从数组中取值?
数组是一组有序的数据集合,能够存储多个任意类型的值。
声明数组的方法有两种,分别是数组字面量方式和构造函数方式。
数组字面量方式通过方括号 [] 直接定义数组并赋值,是最常用的创建方式。
使用 new Array() 构造函数方式创建数组,通过 new 关键字实例化数组对象。
从数组中取值依靠数字下标索引,索引从 0 开始计数,通过 数组名[下标] 格式获取对应元素。 - js 遍历数组和对象的常用方法有哪些?
遍历对象常用 for...in 循环,遍历对象自身及继承的可枚举属性。
使用 Object.keys(obj) 获取对象自身所有可枚举属性名组成的数组。
使用 Object.values(obj) 获取对象自身所有可枚举属性值组成的数组。
遍历数组常用 forEach 方法,循环遍历数组每一项,无法中断循环。
map 方法遍历数组并返回一个与原数组长度相同的新数组。
for...of 循环直接遍历数组的元素值,支持中断操作,使用简洁。 - 数组相关的方法有哪些?请列举 5 个并说明用途
push 方法向数组末尾添加一个或多个元素,返回新数组长度。
pop 方法删除数组最后一个元素,返回被删除的元素。
shift 方法删除数组第一个元素,返回被删除的元素。
unshift 方法向数组开头添加一个或多个元素,返回新数组长度。
splice 方法可以对数组进行添加、删除、替换操作,是数组多功能操作方法。 - split 和 join 的区别
split 是字符串方法,将字符串按照指定分隔符分割成数组。
join 是数组方法,将数组中的所有元素按照指定连接符拼接成字符串。 - pop、push、unshift、shift 的作用?
pop 从数组尾部移除最后一个元素,改变原数组并返回被删除元素。
push 向数组尾部添加一个或多个元素,改变原数组并返回新长度。
unshift 向数组开头添加一个或多个元素,改变原数组并返回新长度。
shift 从数组开头移除第一个元素,改变原数组并返回被删除元素。 - javascript 如何清空数组?(两种方式)
第一种方式直接将数组长度赋值为 0,数组名.length = 0 实现清空。
第二种方式直接给数组赋值空数组,数组名 = [] 快速清空数组。 - JavaScript 的循环语句有哪些?
for 循环适用于已知循环次数的场景,通过初始值、条件、自增控制循环。
while 循环先判断条件再执行循环体,条件不成立则不执行。
do...while 循环先执行一次循环体,再判断条件,至少执行一次。
for...in 循环用于遍历对象的可枚举属性或数组的下标。
for...of 循环用于遍历可迭代对象,直接获取元素值。 - while 循环和 do while 循环有什么区别?
while 循环先判断循环条件,条件成立才执行循环体,有可能一次都不执行。
do...while 循环先执行一次循环体,再判断条件,无论条件是否成立,至少执行一次。 - forEach、for in 和 for of 的区别
forEach 是数组方法,简洁遍历数组每一项,不能中断循环,无返回值。
for...in 遍历键名,可遍历对象和数组,会遍历继承属性,不推荐遍历数组。
for...of 遍历键值,支持数组、字符串等可迭代对象,支持中断,语法简洁。 - 请解释一下冒泡排序的原理?
冒泡排序通过重复遍历数组,依次比较相邻两个元素,按照大小规则交换位置。
每一轮遍历都会将当前最大或最小元素 "冒泡" 到数组末尾。
每完成一轮排序,下一轮遍历减少一次比较,重复执行直到整个数组有序。 - 请将此数组排序 arr = [22,1,43,12,75,32]
使用数组 sort 方法升序排序:arr.sort((a, b) => a - b)。
使用冒泡排序实现:外层循环控制轮数,内层循环比较相邻元素并交换位置,最终得到有序数组。
排序结果为 [1, 12, 22, 32, 43, 75]。
JS 前端基础面试题
এ慕ོ冬℘゜2026-05-26 20:25
相关推荐