web前端常见面试题整理(JS)

本文整理了JavaScript面试中常见的知识点,包括JS基本数据类型、typeof的返回值、数组和字符串操作、内置对象、函数声明与表达式、原型链与原型对象、call、apply、bind的使用、继承实现、this的理解、异步编程方法、事件处理机制、jQuery相关、Promise机制、Ajax原理及其优缺点、跨域解决方案、内存泄漏、HTTP状态码、跨域和JavaScript克隆、循环类型、ES6新特性、立即执行函数、闭包及排序算法等内容,帮助开发者全面掌握JavaScript核心技术。

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

JS

1.JS基本数据类型

Number String boolean null undefined Object
null类型进行typeof操作符后,结果是object,原因在于,null类型被当做一个空对象引用。

2.typeof的返回值类型
  • number:NaN
  • boolean
  • string
  • undefined:undefined 不存在的变量
  • object:对象,数组,null
  • Function:Array Date
  • symbol:typeof Symbol() // ES6提供的新的类型
3.操作数组的方法
  • shift:从数组中把第一个元素删除,并返回这个元素的值。
  • unshift:在数组的开头添加一个或更多元素,并返回新的长度
  • push:在数组的末尾添加元素,并返回新的长度
  • pop:把数组的最后一个元素删除,并返回该元素的值
  • slice:读取数组指定的元素,不会对原数组进行修改
  • splice:操作数组指定的元素,会修改原数组,返回被删除的元素
  • concat reverse join split sort
4.操作字符串的方法
  • charAt(index):返回指定索引处的字符串
  • concat(str1,str2,…):连接多个字符串,返回连接后的字符串的副本
  • indexOf(str):返回str在父串中第一次出现的位置,若没有则返回-1
  • match(regex):搜索字符串,并返回正则表达式的所有匹配
  • replace(str1,str2):str1也可以为正则表达式,用str2替换str1
  • substr(start,length):从字符索引start的位置开始,返回长度为length的子串
  • substring(from,to):返回字符索引在from和to(不含)之间的子串
  • search(regex):基于正则表达式搜索字符串,并返回第一个匹配的位置
  • valueOf():返回原始字符串值
5.JS有哪些内置对象
  • 数据封装类对象:Object、Array、Boolean、Number、String
  • 其他对象:Function、Arguments、Math、Date、RegExp、Error
  • ES6新增对象:Symbol、Map、Set、Promises、Proxy、Reflect
6.函数声明和函数表达式的区别

函数声明有变量提升,现代浏览器不会对if语句中的函数声明进行提升
函数声明的自执行必用()将函数声明括起来后自执行,函数表达式可以直接自执行

7.JavaScript的原型,原型链?有什么特点?
  • 每一个js对象(除了null)都有_proto_内部属性,这个属性会指向该对象的原型

  • js中每个函数除了_proto_之外,还预置了prototype属性,当函数对象作为构造函数创建实例时,该prototype属性值将被作为实例对象的原型_proto_

  • 每个原型都有一个 constructor 属性指向关联的构造函数 实例原型指向构造函数

  • prototype属性的作用就是包含可以由特定类型的所有实例共享的属性和方法,也就是让该函数所实例化的对象们都可以找到公用的属性和方法
    Person === Person.prototype.constructor
    person.proto === Person.prototype
    Object.prototype.proto === null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值