前端高频面试题--Part2

本文详细介绍了JavaScript的组成部分(ECMAScript、DOM和BOM)、内置对象如Math和Array的使用,以及操作数组的方法。此外,讨论了数据检测技术、闭包的概念、其特点和使用场景,以及前端内存泄漏的原理和垃圾回收机制中的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、JavaScript

1、JS由哪三部分组成?

 ECMScript:JS的核心内容,描述了语言的基础语法,比如var,for,数据类型(数组、字符串)

 文档对象模型(DOM):DOM把整个HTML页面规划为元素构成的文档;

 浏览器对象模型(BOM):对浏览器窗口进行访问和操作

2、JS有哪些内置对象?

 String、Boolean、Number、Array、Object、Function、Math、Date、RegExp...

 常用的有下面这些:

 Math

   abs()、sqrt()、max()、min()

 Data 

   new Data()、getYear()

 Array

 String

   concat()、length、slice()、split()

3、操作数组的方法

 push()、pop()、sort()、splice()、unshift()、shift()、reverse()、concat()、join()、map()、filter()、 ervery()、some()、reduce()、isArray()、findIndex() ...

 哪些方法会改变原数组?

   push()、pop()、sort()、unshift()、shift()、reverse()

4、JS对数据类的检测方式有哪些?

 typeof() 对于基本数据类型没问题 遇到引用数据类型就不管用

 instanceof()  只能判断引用数据类型,不能判断基本数据类型

 constructor() 几乎可以判断基本数据类型和引用数据类型;如果声明了一个构造函数,并把它的原型指向了Array

 Object.prototype.toString.call() 

5、说一下闭包,闭包有什么特点?

 什么是闭包? 函数嵌套函数,内部函数被外部函数返回并保存下来时,就会产生闭包。

 特点:可以重复利用变量,并且这个变量不会污染全局的一种机制:这个变量是一只保存在内存中,不会被垃圾回收机制回收。

 缺点:闭包较多的时候,会消耗内存,导致页面的性能下降,在IE浏览器中才会导致内存泄漏。

 使用场景:防抖、节流、函数嵌套函数避免全局污染的时候。

6、前端的内存泄漏怎么理解?

 JS里已经分配内存地址的对象,但是由于长时间没有释放或者没办法清除,造成长期占用内存的现象,会让内存资源大幅浪费,最终导致运行速度慢,甚至崩溃的情况。

 垃圾回收机制

 因素:一些未声明直接复制的变量;一些未清空的定时器;过度的闭包;一些引用元素没有被清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值