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

【前端面试题】JavaScript 核心知识点解析(第一题到第十三题)

第一题解析:ES6模块化及常用语法

1. 变量声明

  • let:用于声明块级作用域的变量,具有以下特点:

    • 不存在变量提升
    • 不允许重复声明
    • 存在暂时性死区
  • const:用于声明常量,特点包括:

    • 声明时必须初始化
    • 声明后不能重新赋值
    • 块级作用域

2. 异步编程

  • async:用于声明异步函数,返回一个Promise对象
  • await:只能在async函数中使用,用于等待Promise对象的状态变为resolved

3. 常用方法

  • JSON.parse():将JSON字符串转换为JavaScript对象

    const jsonStr = '{"name":"John", "age":30}';
    const obj = JSON.parse(jsonStr);
    
  • 数组方法

    • filter():创建一个新数组,包含通过测试的所有元素
    • every():检测数组所有元素是否都符合指定条件
    • includes():判断数组是否包含指定的值(区分大小写)
    • find():返回数组中满足条件的第一个元素
    • reduce():对数组中的每个元素执行回调函数,将其减少为单个值
    • forEach():对数组的每个元素执行一次回调函数(空数组不执行)
    • some():检测数组中是否有元素满足指定条件
  • 字符串方法

    • trim():去除字符串两端的空白字符
    • startsWith():判断字符串是否以指定的子字符串开头
    • endsWith():判断字符串是否以指定的子字符串结尾
    • includes():判断字符串是否包含指定的子字符串(区分大小写)
    • indexOf():返回指定子字符串在字符串中首次出现的位置(与includes用法相似)

第二题解析:作用域相关概念

1. 块级作用域

  • 变量在离开定义的块级代码后立即被回收
  • {}、if、for、while等语句创建
  • 使用let和const声明的变量具有块级作用域

2. 函数作用域

  • 变量在定义的函数内部及嵌套的子函数中可见
  • 使用var声明的变量具有函数作用域
  • 函数参数也属于函数作用域

3. 变量提升

  • JavaScript引擎将变量声明提升到其作用域的顶部
  • var声明的变量会被提升,而let和const不会
  • 函数声明也会被提升,且优先级高于变量提升
// 变量提升示例
console.log(x); // undefined(变量提升)
var x = 5;console.log(y); // 报错(let不会提升)
let y = 10;

第三题解析:XMLHttpRequest对象

1. 基本概念

  • XMLHttpRequest = XML + Http + Request
  • 本质:发送HTTP请求、处理HTTP响应、与服务器异步交换数据的对象
  • 核心:基于HTTP协议进行数据交互

2. HTTP请求组成

  • 方法(GET、POST等)
  • URL(请求地址)
  • 请求头(Headers)
  • 请求主体(Body)

3. 常用属性和方法

  • status:HTTP响应状态码(200表示请求成功)
  • readyState:请求状态(4表示处理完毕)
  • responseText:服务器返回的文本数据
  • send():发送请求
  • open():初始化请求
// 简单使用示例
const xhr = new XMLHttpRequest(
http://www.xdnf.cn/news/1323649.html

相关文章:

  • 【Python语法基础学习笔记】条件表达式和逻辑表达式
  • 03.文件管理和操作命令
  • 网站服务器使用免费SSL证书安全吗?
  • 免费又强大的 PDF 编辑器 ——PDF XChange Editor
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • 【Tech Arch】Spark为何成为大数据引擎之王
  • 算法题打卡力扣第26. 删除有序数组中的重复项(easy))
  • Linux 中断机制深度分析
  • 【轨物交流】轨物科技与华为鲲鹏生态深度合作 光伏清洁机器人解决方案获技术认证!
  • nuScence数据集
  • 特种行业许可证识别技术:通过图像处理、OCR和结构化提取,实现高效、准确的许可证核验与管理
  • Android Cutout(屏幕挖孔)详解
  • Python day48.
  • 【笔记ing】考试脑科学 脑科学中的高效记忆法
  • OCR库pytesseract安装保姆级教程
  • Zephyr下控制ESP32S3的GPIO口
  • 飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
  • 上下文切换及线程操作相关内容
  • 微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
  • 开放最短路径优先协议
  • Python装饰器:从入门到精通
  • QNX 性能分析工具(hogs pidin tracelogger)
  • IOPaint 远程修图:cpolar 内网穿透服务实现跨设备图片编辑
  • Less (CSS 预处理器)
  • 贪心算法(Greedy Algorithm)详解
  • html页面打水印效果
  • 跨平台RTSP播放器深度对比:开源方案与商业SDK的取舍之道
  • 无人机迫降模式技术要点解析
  • 【C语言16天强化训练】从基础入门到进阶:Day 2
  • 基于ssm jsp中学校园网站源码和答辩PPT论文