Javascript基础面试题

 仅学习使用,若有侵权将修改或删除|面试鸭

  • Javascript 有哪些数据类型?它们的区别是什么?

7 原始类型Undefined、Null、Boolean、Number、String、Symbol和BigInt

引用类型:Object(对象、函数和数组等)

  • 如何判断 JavaScript 变量是数组?

  • JavaScript 中 null 和 undefined 的区别是什么?

  • typeof null 的结果是什么?为什么?

  • typeof 和 instanceof 有什么区别?

  • 为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?

  • 如何获取安全的 undefined 值?

  • typeof NaN 的结果是什么?

  • isNaN 和 Number.isNaN 函数有什么区别?

  • ==操作符的强制类型转换规则是什么?
  • null和undefined(本身相互相等)
  • boolean和数字(boolean转数字再比较)
  • 字符串和数字(字符串转数字再比较)[空字符串与0或false比较返回true]
  • 对象类型与原始类型(对象.toPrimitive方法【valueOf或toString方法】转原始对象再比较)
  • 符号类型只能与本身比较,与其他类型都返回false

  • Javascript 其他值到字符串String的转换规则是什么?
  • String(null)"null" String(undefined)"undefined"
  • String(true/false)"true/false"

  • 普通对象,【object Object】,若对象有toString()方法,返回**返回值**
  • 数组对象默认会将数组元素转化为字符串并以逗号分隔[1,2,3]=>“1,2,3”
  • 函数对象,返回代码的字符串
  • Javascript 其他值到数字值Number的转换规则是什么?
  • null->0,undefined->NAN
  • String数字的转数字,空字符串转为0,其他NaN
  • Symbol类型不能转,报TypeError
  • 数组,先转字符串,在通过字符串转数字。包含多个元素NaN,因为转字符串时用“,”隔开了
  • 对象
  • JavaScript 其他值到布尔值的转换规则是什么?

 

  • Javascript 中|和 && 操作符的返回值是什么?

  • Object.is( 与比较操作符 == 和 === 的区别是什么?

  • 什么是 JavaScript 中的包装类型?

       原始值没有方法或属性,但为了能够使用方法或属性,Javascript提供了包装类型,使得原始值可以像对象一样被操作

  • JavaScript 中如何进行隐式类型转换?

这是因为按照字典顺序(或字符串的Unicode顺序),"6" 是小于 "12" 的。true???

  • JavaScript 中 +操作符什么时候用于字符串的拼接?

  • JavaScript 中为什么会有 BigInt 的提案?

  • Object.assign 和对象扩展运算符有什么区别?是深拷贝还是浅拷贝?

  • JavaScript 中 Map 和 Object 的区别是什么?
  • JavaScript 中判断数据类型的方式有哪些?
  • JavaScript 有哪些内置对象?
  • JavaScript 中常用的正则表达式有哪些?
  • 说说你对 JSON 的理解?
  • Javascript 脚本延迟加载的方式有哪些?
  • JavaScript 脚本异步加载如何实现?各有什么区别?
  • 什么是 JavaScript 的类数组对象?如何转化为数组?
  • Javascript 的数组有哪些原生方法?
  • 为什么 JavaScript 函数的 arquments 参数是类数组而不是数组?如何遍历类数组?
  • 什么是 DOM 和 BOM?
  • escape、encodeURl、encodeURlcomponent的区别是什么?
  • 什么是 AJAX?如何实现一个 AJAX 请求?
  • 常见的 DOM 操作有哪些?
  • use strict 是什么意思?使用它有什么区别?
  • JavaScript 如何判断一个对象是否属于某个类?
  • ajax、 axios、fetch 的区别是什么?
  • JavaScript 数组的遍历方法有哪些?
  • JavaScript 的 forEach 和 map 方法有什么区别?
  • mouseover 和 mouseenter 事件的区别是什么?
  • JavaScript 的 == 和 === 有什么区别?
  • JavaScript 中 substring 和 substr 函数的区别是什么?
  • JavaScript 数组的 map 和 forEach 函数中能否通过 break 等语法结束循环?
  • JavaScript 中如何合并对象?
  • JavaScript 如何判断一个对象是不是空对象?
  • JavaScript 的 splice 和 slice 函数会改变原数组吗?
  • JavaScript 中怎么删除数组最后一个元素?
  • 如何判断网页元素是否到达可视区域?
  • JavaScript 操作数组元素的方法有哪些?
  • JavaScript 中 for...in 和 for..of 的区别是什么?
  • const对象的属性可以修改吗?
上一篇:Springboot启动过程详解


下一篇:LSP的建立