当前位置: 首页 > 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
http://www.dtcms.com/a/164727.html

相关文章:

  • 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与卡尔曼滤波实现目标跟踪与预测(附代码)
  • 【CF】Day46——Codeforces Round 967 (Div. 2) B
  • 【C++贪心】P6023 走路|普及
  • 欧拉计划 Project Euler60(素数对集合)题解
  • 双系统安装 ios放同一个u盘 ventory使用+windows安装,双系统互相访问中间盘 切换默认启动系统
  • 巧记英语四级单词 Unit7-上【晓艳老师版】
  • 多块盘创建RAID5以及后增加空间
  • 小结:PKI(Public Key Infrastructure,公钥基础设施)
  • CSdiy java 06
  • 西门子笔记四:Uart模块
  • 异步机制与 CPU 的关系解析