Javascript 常见面试题

本文详细介绍了JavaScript的面试重点,包括JS的组成部分(ECMAScript、DOM、BOM)、内置对象(Math、Date、Array等)、数据类型检测方法、基本与引用数据类型的区别、JSON转换、闭包、内存泄漏、垃圾回收机制、事件委托、原型链、`new`操作符、继承原理、`this`指向问题、ES6新特性、异步处理(`setTimeout`、`Promise`、`async/await`)等内容,旨在帮助开发者更好地理解和掌握JavaScript的核心知识。
摘要由CSDN通过智能技术生成

 1.JS由哪三部分组成?

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

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

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

2.JS有哪些内置对象?

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

1)Math

abs()//用来返回数的绝对值 

Random()//返回一个0到1之间的随机数,注意,这里的0是可以取到的,但1是取不到

ceil(x);//向上取整    Math.floor(x);//向下取整

sqrt()//返回一个数的平方根 max() min()

2)Date

new Data()  getYear()

3)Array 

  哪些方法会改变原数组? push() pop() unshift() shift() sort() reverse() splice()

push() 数组末尾添加元素,注意这个方法的返回值是新数组的长度  

unshit() 数组开始位置添加元素   shift() 删除数组中的第一项

pop() 删除数组最后一项       splice() 数组的增删改    slice() 查找两个索引中间的内容返回到新数组concat() 数组拼接                  toString() 数组转换为字符串       join() 数组转换为字符串

indexOf()/lastindexOf() 检测出某一项出现在数组中的第一次索引和最后一次的索引

reverse() 反转数组                                              sort() 数组排序,默认按照字符编码的顺序进行排序  

forEach() 遍历数组执行回调函数没有返回值

includes() 判断数组是否包含某一项的值                            map() 遍历数组执行回调函数返回新数组

some() 所有元素进行判断,只要有一个满足就返回true. Find() 返回数组中满足函数的第一个元素值

flat() 按照一个指定的深度遍历数组,最好是infinity  .

fill() 用一个固定的值来填充数组,每个都一样

filter() 判断数组满足条件的元素,返回新数组     reduce() 对每一个元素执行函数,汇总成一个数

 from() 让一个类数组转化为数组                                isArray() 判断传递的参数是不是数组

every()  所有元素进行判断都满足了,返回true

findIndex() 返回数组中满足函数的第一个元素的索引,都不满足返回-1       of() 创建数组

valueOf;/()/返回数组对象的原始值,也就是返回整个数组

4)String                  

str.indexOf();//用于返回指定内容在原字符串中的位置,如果没有,则返回-1。

str.trim();//去除字符串前后的空白。

str.concat();//用于拼接字符串,它跟加号的效果是一样的。

str.substring(start,end);//从start位置开始,截取到end为止,end取不到。

str.substr(start,length);//从start位置开始,截取length长度个字符串,如果没有写length的值则默认截取到最后

str.replace();//替换字符串的某个元素,并返回替换后的字符串。

str.split();//把字符串分割成数组的形式返回。

Str.slice(startIndex,endIndex) 从字符串中截取指定内容

toUpperCase()      toLowerCase() 将一个字符串全部变为小写

toString()可以将其他数据类型转换为字符串

JS中数组的常用方法_js数组操作_Luminous★的博客-CSDN博客

3.JS数据类型和对数据类的检测方式有哪些?

JS数据类型主要分为两大类: 基本数据类型、引用数据类型

基本数据类型:number、string、boolean、null、undefined、symbol(es6)

引用数据类型:object array、function、date

检测数据类型四种方法https://www.cnblogs.com/1234zsl/p/16268094.html

Typeof / instanceof / constructor / Object.prototype.toString.call()  最完美的

总结 js检测数据类型的四种方法 - 掘金

 1.typeof 二进制 不能细分对象

准确判断出的数据类型有:Number,String,Boolean,Undefined,Symbol,BigInt,Function。

缺点是不能准确判断 null 的类型,而是返回 “object”。对于数组,日期,普通对象等数据,统一返回 “object”。所以在判断基本数据类型(除了 null)和函数类型时,都会使用它。

 2. instance

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值