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

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

第二十三题解析:数组与数据处理

1. filter方法

  • 作用:创建一个新数组,包含通过指定函数测试的所有元素
  • 语法array.filter(callback(element[, index[, array]])[, thisArg])
  • 特点
    • 不改变原数组
    • 返回符合条件的新数组
    • 回调函数返回布尔值
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

第二十四题解析:网络请求

1. axios

  • 基于Promise的HTTP客户端,用于浏览器和Node.js
  • 支持请求拦截、响应拦截、取消请求等功能
// 基本使用
axios.get('/api/data').then(response => console.log(response.data)).catch(error => console.error(error));

2. xsrf

  • 跨站请求伪造(Cross-Site Request Forgery)防护
  • axios自动处理XSRF令牌,通过配置xsrfCookieNamexsrfHeaderName

3. fetch

  • 现代浏览器内置的HTTP请求API,基于Promise
  • 语法更简洁,但功能相对基础
fetch('/api/data').then(response => response.json()).then(data => console.log(data));

4. CORS

  • 全称:Cross-Origin Resource Sharing(跨域资源共享)

  • 作用:允许不同域的资源相互访问的机制

  • 核心概念

    • origin:请求来源域
    • resource:被请求的资源
    • sharing:共享机制
  • 相关HTTP头:

    • Access-Control-Allow-Origin:允许访问的源
    • Access-Control-Allow-Headers:允许的请求头
    • Access-Control-Allow-Methods:允许的请求方法

第二十五题解析:前端构建工具

1. loader

  • 在Webpack等构建工具中用于转换文件的工具
  • 例如:babel-loader转换ES6+代码,css-loader处理CSS文件

2. pack

  • 打包(packaging)的缩写,指将多个文件合并为一个或多个输出文件
  • 常见工具:Webpack、Parcel、Rollup

第二十六题解析:模板与编译

1. template

  • 模板,定义视图结构的字符串或文件
  • 在Vue、Angular等框架中广泛使用
<!-- Vue模板示例 -->
<template><div>{{ message }}</div>
</template>

2. compiler

  • 编译器,将模板或高级代码转换为可执行代码
  • Vue的模板编译器将模板转换为渲染函数

第二十七题解析:浏览器对象

1. navigator

  • 浏览器的导航对象,包含浏览器相关信息
  • 常用属性:userAgent(浏览器标识)、language(语言)
console.log(navigator.userAgent); // 浏览器信息
console.log(navigator.geolocation); // 地理位置API

2. current

  • 常出现在API中表示"当前",如document.currentScript(当前脚本)

第二十八题解析:JavaScript内置对象

1. Function

  • 函数对象的构造函数
  • 所有函数都是Function的实例
const sum = new Function('a', 'b', 'return a + b');
console.log(sum(2, 3)); // 5

2. Arguments

  • 函数内部的类数组对象,包含函数调用时的参数
  • 可通过Array.from()转换为数组

3. RegExp

  • 正则表达式对象(Regular Expression)
  • 用于字符串匹配和处理
const pattern = new RegExp('abc');
console.log(pattern.test('abcdef')); // true

4. Error

  • 错误对象的基类,用于创建错误实例
  • 常见子类:SyntaxErrorReferenceErrorTypeError

5. Symbol

  • ES6新增的原始数据类型,表示唯一的标识符
const sym1 = Symbol('description');
const sym2 = Symbol('description');
console.log(sym1 === sym2); // false

第二十九题解析:CSS布局与对齐

1. align

  • 对齐相关的CSS属性前缀,如align-itemsalign-content

2. vertical

  • 垂直方向,如vertical-align(垂直对齐)
.container {display: flex;align-items: center; /* 垂直居中 */justify-content: center; /* 水平居中 */
}

第三十题解析:Promise相关

1. resolve

  • Promise的成功状态回调函数
  • 将Promise对象状态从"未完成"变为"成功"

2. reject

  • Promise的失败状态回调函数
  • 将Promise对象状态从"未完成"变为"失败"
new Promise((resolve, reject) => {if (success) {resolve('操作成功');} else {reject(new Error('操作失败'));}
});

第三十一题解析:数组方法与结果处理

1. push

  • 向数组末尾添加一个或多个元素,并返回新长度
const fruits = ['apple', 'banana'];
fruits.push('orange');
console.log(fruits); // ['apple', 'banana', 'orange']

2. result

  • 表示操作的结果,常见于回调函数或方法返回值

第三十二题解析:事件类型

1. Mouse

  • 鼠标事件前缀,如mousedownmouseupmousemove

2. Keyboard

  • 键盘事件前缀,如keydownkeyupkeypress

3. Progress

  • 进度事件,如progress(资源加载进度)

4. Event

  • 所有事件的基类,包含事件相关信息和方法

第三十三题解析:前端框架与路由

1. router

  • 路由,管理页面跳转和URL映射
  • Vue Router、React Router是常见的路由库

2. angular

  • 谷歌开发的前端框架,采用TypeScript开发
  • 基于组件和依赖注入

3. view

  • 视图,MVVM模式中的V(View)
  • 负责展示数据和用户交互

第三十四题解析:依赖注入与路径

1. Provider

  • 提供者,在Angular等框架中用于注册可注入的服务
  • 发音:/prəˈvaɪdə®/

2. Path

  • 路径,如window.location.pathname(URL路径)

第三十五题解析:对象方法

1. assign

  • Object.assign()用于将多个源对象的属性复制到目标对象
const target = { a: 1 };
const source = { b: 2 };
Object.assign(target, source);
console.log(target); // { a: 1, b: 2 }

第三十六题解析:模块化

1. Common

  • 指CommonJS模块化规范,用于Node.js
  • 使用require()导入,module.exports导出
// 导出
module.exports = { foo: 'bar' };// 导入
const module = require('./module');

第三十七题解析:类与继承

1. constructor

  • 构造函数,在类被实例化时调用

2. extends

  • 用于类的继承
class Animal {constructor(name) {this.name = name;}
}class Dog extends Animal {bark() {console.log(`${this.name} 汪汪叫`);}
}

第三十八题解析:调试与控制台

1. console

  • 控制台对象,提供调试信息输出功能

2. log

  • console.log()用于输出日志信息
console.log('调试信息');
console.error('错误信息');
console.warn('警告信息');

第三十九题解析:其他常用功能

1. random

  • Math.random()生成0到1之间的随机数
const randomNum = Math.random(); // 0 <= randomNum < 1

2. function

  • 函数关键字,用于定义函数

第四十题解析:Vuex核心概念

1. getters

  • Vuex中的计算属性,用于处理存储的状态

2. mutations

  • Vuex中用于修改状态的方法,必须是同步函数

3. actions

  • Vuex中用于处理异步操作的方法,可以提交mutations

4. modules

  • Vuex中用于分割状态的模块,便于管理大型应用

第四十一题解析:版本控制

1. GitHub

  • 基于Git的代码托管平台
  • "git"发音:/ɡɪt/,"hub"发音:/hʌb/

第四十二题解析:配置相关

1. defaults

  • 默认值,如axios.defaults.baseURL设置默认请求地址

2. base

  • 基础,如baseURL(基础URL)

3. config

  • 配置(configuration)的缩写

第四十三题解析:控制与选项

1. control

  • 控制,如Controller(控制器)

2. options

  • 选项,常用于函数参数配置

第四十四题解析:JSON方法

1. JSON.parse()

  • 作用:将JSON字符串转换为JavaScript对象
  • 语法JSON.parse(text[, reviver])
  • 实例
    const jsonStr = '{"name":"John", "age":30}';
    const obj = JSON.parse(jsonStr);
    console.log(obj.name); // "John"
    

2. JSON.stringify()

  • 作用:将JavaScript对象转换为JSON字符串
  • 语法JSON.stringify(value[, replacer[, space]])
  • 实例
    const obj = { name: "John", age: 30 };
    const jsonStr = JSON.stringify(obj);
    console.log(jsonStr); // '{"name":"John","age":30}'
    

第四十五题解析:Ajax与jQuery

1. Ajax

  • 全称:Asynchronous JavaScript and XML(异步JavaScript和XML)
  • 发音:/ˈeɪ.dʒæks/(中文类似"阿贾克斯")
  • 作用:在不重新加载页面的情况下与服务器交换数据

2. jQuery

  • 流行的JavaScript库,简化DOM操作和Ajax请求
  • 发音:J和Query分开读(/ˈdʒeɪ kjuːəri/)

3. query

  • 查询,如document.querySelector()方法

第四十六题解析:本地存储

1. local

  • 本地的,如localStorage(本地存储)

第四十七题解析:安全相关

1. cookie

  • 网络饼干,存储在客户端的小型数据文件
  • 用于身份验证、记住用户偏好等

2. token

  • 令牌,用于身份验证的字符串
  • 常用于API请求的身份验证

第四十八题解析:UI与交互

1. icon

  • 图标,如Font Awesome图标库

2. Animation

  • 动画,如CSS动画或JavaScript动画

3. Frame

  • 帧,如动画帧(requestAnimationFrame

第四十九题解析:字符串方法

1. split

  • 将字符串分割为数组
const str = "a,b,c";
const arr = str.split(",");
console.log(arr); // ["a", "b", "c"]

第五十题解析:开发工具

1. debug

  • 调试,查找并修复程序中的错误

第五十一题解析:Vue核心概念

1. 双向绑定

  • 数据变化自动更新视图,视图变化自动更新数据
  • 实现了双向数据流

2. MVVM

  • 全称:Model-View-ViewModel
  • 是MVC的改进版,将视图的状态和行为抽象化
  • ViewModel连接Model和View,处理业务逻辑

第五十二题解析:CSS位置属性

1. bottom

  • 底部,CSS定位属性之一
.element {position: absolute;bottom: 0; /* 距离底部0像素 */
}

第五十三题解析:跨域兼容

1. XDomainRequest

  • IE8/9中的跨域请求对象,类似XMLHttpRequest

第五十四题解析:跨文档通信

1. Message

  • 消息,如postMessage用于跨文档通信
// 发送消息
otherWindow.postMessage('Hello', 'https://example.com');// 接收消息
window.addEventListener('message', function(event) {if (event.origin === 'https://example.com') {console.log(event.data);}
});

第五十五题解析:权限相关

1. Authorization

  • 授权,HTTP头中的Authorization用于身份验证

第五十六题解析:加法操作

1. add

  • 添加,如数组的push()方法用于添加元素

第五十七题解析:分数与评分

1. score

  • 分数,常用于评分系统

第五十八题解析:HTTP方法

1. Methods

  • 方法,如HTTP请求方法GET、POST、PUT、DELETE等

第五十九题解析:本地存储区分

1. session

  • 会话,如sessionStorage(会话存储)

第六十题解析:HTTP头

1. Headers

  • 头信息,HTTP请求和响应中的头字段

第六十一题解析:其他

1. ə

  • 国际音标中的中央元音,如"about"中的"a"发音

以上内容涵盖了从数组方法到前端框架、从网络请求到安全认证的多个知识点,可通过Ctrl+F快速查找所需内容。如有补充或修正,将在评论区更新。

http://www.lryc.cn/news/624464.html

相关文章:

  • 【运维进阶】部署文件到受管主机
  • Vue2篇——第六章 Vue 路由(VueRouter)全解析
  • 自信息,信息熵,交叉熵,KL散度,JS散度
  • 【自动化测试】Selenium详解-WebUI自动化测试
  • 代理模式深度解析:从静态代理到 Spring AOP 实现
  • MATLAB建模与可视化技术文档:从二维到三维
  • 当使用STL容器去存放数据时,是存放对象合适,还是存放对象指针(对象地址)合适?
  • Centos7使用lamp架构部署wordpress
  • 使用华为显卡训练深度学习模型的步骤
  • 计算机网络技术学习-day3《交换机配置》
  • 像素风球球大作战 HTML 游戏
  • 【opencv-Python学习笔记(6):阈值处理】
  • 如何平衡电竞酒店和高校宿舍对AI云电竞游戏盒子的不同需求?
  • 云计算- KubeVirt 实操指南:VM 创建 、存储挂载、快照、VMI全流程 | 容器到虚拟机(镜像转换/资源调度)
  • AI需要防火墙,云计算需要重新构想
  • 我们为什么需要时序数据库?
  • AI大模型实战:用自然语言处理技术高效处理日常琐事
  • 云计算核心技术之容器技术
  • 网站服务器使用免费SSL证书安全吗?
  • Orange的运维学习日记--45.Ansible进阶之文件部署
  • 公司无公网IP,如何将内网服务,给外面异地连接使用?远程办公可通过什么访问?
  • 力扣70:爬楼梯
  • 终端管理一体化
  • 【图像算法 - 17】慧眼识“果”:基于深度学习与OpenCV的苹果智能检测系统(附完整代码)
  • 哪里找最新AI工具官网?如何快速对比ChatGPT替代品?AI工具导航指南 - AIbase
  • 实现make/makefile
  • MyCAT完整实验报告
  • 项目实战——矿物识别系统(利用机器学习从化学元素数据中识别矿物,从数据到分类模型)
  • 把 AI 编程助手塞进「离线 U 盘」——零依赖的 LLM-Coder 随行编译器
  • 8.18 打卡 DAY 45 Tensorboard使用介绍