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

JavaScript面试问题

一、JavaScript 基础

1. JavaScript 的核心特性

  • 动态类型:变量无需声明类型。
  • 解释型语言:逐行解释执行。
  • 单线程:基于事件循环模型运行。
  • 原型继承:通过原型链实现对象继承。

2. 数据类型与类型转换

  • 基本数据类型StringNumberBooleanNullUndefinedSymbolBigInt
  • 引用数据类型Object(包括数组、函数等)。
  • 隐式类型转换
    console.log(1 + '2'); // '12'
    console.log(true + 1); // 2
    

3. 变量声明的区别

特性varletconst
作用域函数作用域块级作用域块级作用域
重复声明允许不允许不允许
修改值可修改可修改不可修改(但对象属性可变)

4. 闭包是什么?如何使用?

  • 定义:闭包是指一个函数能够记住并访问它的词法作用域,即使这个函数是在它的词法作用域之外执行。
  • 用途:封装私有变量、实现模块化、延迟计算等。
function createCounter() {let count = 0;return function() {count++;return count;};
}const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

相关文章:

  • tbb parallel_for 使用
  • 颜色分类,不靠“调色盘”:双指针 VS 计数排序的正面PK
  • 【Linux】服务自启动设置的方式
  • LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding
  • Java之BigDecimal
  • Silvaco仿真中victory process的蒙特卡洛(Monte Carlo)离子注入
  • 深入理解 Linux 权限管理:从基础到进阶
  • 【GESP】C++三级练习 luogu-B2117 整理药名
  • (三十二)Android开发中AppCompatActivity和Activity之间的详细区别
  • 2025运维工程师面试题1(答案在后一张)
  • 企业的AI转型:生死时速的进化之路
  • 【题解-Acwing】870. 约数个数
  • k8s部署
  • 4.29【Q】paraCompute
  • python之数字类型的操作
  • 无人机航拍羊只检测数据集VOC+YOLO格式6065张1类别
  • vue3使用<el-date-picker分别设置开始时间和结束时间时,设置开始时间晚于当前时间,开始时间早于结束时间,结束时间晚于开始时间
  • python:练习:2
  • 双重差分模型学习笔记(理论)
  • YOLO学习笔记 | YOLOv8与卡尔曼滤波实现目标跟踪与预测(附代码)
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 辽宁辽阳火灾3名伤者无生命危险
  • 豆神教育:2024年净利润1.37亿元,同比增长334%
  • 以“最美通缉犯”为噱头直播?光明网:违法犯罪不应成网红跳板
  • 言短意长|政府食堂、停车场开放的示范效应
  • TAE联手加州大学开发出新型核聚变装置:功率提升百倍,成本减半