2019年前端开发面试题整理.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【JavaScript基础】 JavaScript 是一种广泛用于Web开发的动态编程语言,主要负责前端开发中的交互逻辑。在面试中,JS基础通常包括对数组方法、原型、构造函数、实例以及原型链的理解,还有字符串方法和数据类型等核心概念。 1. **数组方法** - `map`:对数组中的每个元素应用一个函数,返回一个新的数组,不影响原数组。 - `forEach`:遍历数组,不返回值,不能中断循环,除非使用try/catch抛出错误。 - `filter`:根据提供的函数测试,返回满足条件的新数组。 - `some`:只要有一个元素满足条件,就返回true。 - `every`:所有元素都满足条件才返回true。 - `join`:用指定的分隔符连接数组元素,返回字符串。 - `push/pop`:在数组末尾添加/移除元素,改变原数组并返回被添加/移除的元素。 - `unshift/shift`:在数组开头添加/移除元素,改变原数组并返回被添加/移除的元素。 - `sort(fn)`:对数组元素进行排序,可以自定义比较函数,改变原数组。 - `reverse`:反转数组元素,改变原数组。 - `concat`:连接两个或更多数组,返回新数组,不影响原数组。 - `slice(start, end)`:截取数组的一部分,返回新数组,不改变原数组。 - `splice(start, number, value...)`:删除指定数量的元素,并可插入新元素,改变原数组。 - `indexOf/lastIndexOf(value, fromIndex)`:查找元素在数组中的索引,找不到则返回-1。 - `reduce/reduceRight(fn(prev, cur), defaultPrev)`:对数组元素两两进行累积计算,返回单一结果。 2. **原型/构造函数/实例** - **原型(prototype)**:每个对象都有一个原型,用于实现属性继承。可以通过`__proto__`访问,但此属性非标准,推荐使用`Object.getPrototypeOf(obj)`。 - **构造函数**:用于创建对象的函数,通过`new`关键字调用。 - **实例**:通过构造函数创建的对象,它们的`__proto__`指向构造函数的原型,`constructor`属性指向构造函数。 3. **原型链** 原型链是由原型对象形成的链条,通过`__proto__`属性连接。当查找对象属性时,会沿着原型链向上查找,直至找到属性或到达`Object.prototype`。如果需要修改原型上的属性,需通过`b.prototype.x = 2;`的形式,但会影响所有继承该对象的实例。 4. **字符串方法** - `charAt(num)`:获取指定位置的字符。 - `charCodeAt(num)`:获取指定位置字符的Unicode编码。 - `fromCharCode()`:根据Unicode值创建字符串。 - `indexOf()`/`lastIndexOf()`:查找字符出现的位置。 - `match()`:匹配字符串,返回匹配结果。 - `replace(a, b)`:替换字符串中的匹配项。 - `slice()`/`substring()`/`substr()`:截取字符串。 - `split()`:根据分隔符将字符串拆分成数组。 - `toLowerCase()`/`toUpperCase()`:将字符串转为小写/大写。 - `trim()`:去除字符串两端的空白字符。 5. **闭包** 闭包是指在函数内部定义的函数,可以访问外部函数的局部变量。当内部函数被外部调用时,即使外部函数已经执行完毕,其局部变量依然可以被内部函数访问。闭包可以用来保留函数的作用域和状态,实现数据封装和私有变量。 6. **数据类型** JavaScript 有两种数据类型:基本数据类型和引用数据类型。 - **基本数据类型**:Number、String、Boolean、Null、Undefined、Symbol(ES6)。它们按值访问,存储在栈中。 - **引用数据类型**:Object,包括数组、对象等,按引用访问,存储在堆中。对于对象的复制,存在浅拷贝和深拷贝的区别。浅拷贝只复制对象的引用,而深拷贝会创建新的对象并逐个复制属性。 了解这些基础概念对于前端开发者来说至关重要,它们是解决实际问题和设计高效代码的基础。在面试中,掌握这些知识点不仅能展示你的专业素养,也有助于你更好地理解和解答其他复杂问题。
- 粉丝: 8517
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 昱感微融合产品 YGW-L2 集成了激光雷达,可见光摄像头,红外摄像头,多传感器融合后生 成时空对齐的多维像素数据,通过 GMSL 接口发出 本品为客户提供更加直接、高效、和可 扩展的环境与事件感知能
- 1、判断是否回文正数 2、两个字符串相加 3、整理课上内容(HTML)
- 数据中台建设方法论.pdf
- Cangjie Studio社区版1.1 开发者手册:IDE介绍及使用教程
- 昱感微融合产品YGW-R1集成了毫米波雷达,可见光摄像头,红外摄像头,多传感器融合后生成时空对齐的多维像素数据,通过GMSL接口发出 本品为客户提供更加直接、高效、和可扩展的环境与事件感知能力
- 服务商快速进件+投诉处理插件
- C#ASP.NET简易库存管理系统源码数据库 SQL2019源码类型 WinForm
- 昱感微融合产品YGW-L1集成了激光雷达,可见光摄像头,红外摄像头,多传感器融合后生成时空对齐的多维像素数据,通过GMSL接口发出 本品为客户提供更加直接、高效、和可扩展的环境与事件感知能力
- ansys Fluent阀门CFD分析
- 基于 SpringBoot 的宽带业务管理系统:构建智能化宽带业务运营新范式