zl程序教程

您现在的位置是:首页 >  其他

当前栏目

常见面试题集合之--js

面试题JS集合 -- 常见
2023-09-27 14:27:10 时间

1、let、const 和 var 的区别

var arr1 = []
for (var i = 0; i < 10; i++) {
	arr1[i] = function () {
		console.log(i)
	}
}
arr1[6]() // 10
// var i 是一个全局变量,i的最终结果为10,所以每次调用结果都是10,用let的话每次都能产生一个新的变量,就不会有这种问题

2、数组排序sort

function sortNumber (a, b) {
	return a - b
}
var arr = [10, 5, 40, 2, 8]
// 返回一个用于说明这个两个值相对顺序的数字
// 若a小于b,则a在b之前
// 若a等于b,则返回0
// 若a大于b,则返回一个大于0的值
// 若为空,则按字符编码排序
arr.sort(sortNumber) // [2, 5, 8, 10, 40]

3、说一下事件循环eventloop

  1. 所有同步任务都在主线程上执行,形成一个执行栈
  2. 当主线程中的执行栈为空时,检查事件队列是否为空,如果为空,则继续检查;如不为空,则执行3
  3. 取出任务队列的首部,加入执行栈
  4. 执行任务
  5. 检查执行栈,如果执行栈为空,则跳回第 2 步;如不为空,则继续检查