JS面试真题 part1

1、说说JavaScript中的数据类型,储存上的差别

自己回答:
JavaScript分为基础类型引用类型
基础类型:boolean、number、string、null、undefined、symbol、bigInt
引用类型:数组、函数、对象、正则表达式等
基础类型储存在栈内,引用类型存在堆内,只有地址存在栈内,俩个值指向同一个地址,是共用一个堆内数据,会互相影响。

与标准差不多

2、说说你了解的js数据结构

自己回答:

  • 数组
  • 栈 (后进先出)
  • 队列(先进先出)
  • 链表

标准回答:

补充:

  • 字典 (键-值对存储)
  • 散列表 (也称哈希表,储存时,键是数字,这个数字范围是0到散列表的长度)

3、DOM常见的操作有哪些

自己回答:

  • 获取dom元素
  • 查询dom元素
  • 新建dom元素
  • 修改dom元素
  • 删除dom元素

标准回答:

  • 创建节点:createElement、createTextNode、createDocumentFragment、createAttribute
  • 添加节点:innerHTML(替换原来内容,如果原来是空,相当于添加)、appendChild、insertBefore、setAttribute
  • 查询节点:querySelector、querySelectorAll
  • 更新节点:innerHTML、innerText、textContent、style
  • 删除节点:removeChild

4、说说你对BOM的理解,常见的BOM对象你了解哪些

自己回答:
DOM文档对象,BOM浏览器对象
常见的BOM对象:window、nav、history、screen

标准回答:
是什么:BOM是浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象。其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口变化,滚动条的滚动,以及获取客户的一些信息,如:浏览器品牌版本,屏幕分辨率

常见的BOM对象:window、location、navigator、screen、history

5、== 和 === 区别,分别在什么情况使用

自己回答:
== 值相等(等于),类型可以不同,=== 值和类型完全相同(全等)
严格要求值和类型都相等的时候使用 ===
特殊:NAN == NAN (false)NAN === NAN (false)
null==undefined (true)

标准回答:

1、等于操作符用俩个等于号表示(==),如果操作数相等,返回 true
比较前会进行隐式转换

  • 如果任一个操作数式布尔值,将其转化为数值再比较
  • 如果一个是字符串,一个是数值,则将字符串转成数值,再比较
  • 如果一个是对象,一个不是,则调用对象的valueOf()方法取得原始值,如
    在这里插入图片描述
  • null==undefined (true)
  • 如果任一操作符是NAN,返回false
  • 如果两个操作数都是对象,则比较是不是同一个对象

总结:

  • 两个都是简单类型,字符串和布尔值都会转换成数值
  • 简单类型和引用类型比较,对象转化成其原始类型的值
  • 两个都是引用类型,则比较它们是否指向同一个对象
  • null和undefined相等
  • 存在NaN则返回false

2、全等操作符用三个等于号表示(===),只有两个操作在不转换的前提下相等才返回true。即类型相同,值也相同

  • null===undefined (false)

3、区别:

  • 相等运算符(==)会做类型转换,再进行值的比较,全等运算符不会进行类型转换
  • null和undefined比较,相等(==)为true,全等为false
  • 相等运算符隐藏的类型转换,会带来一些违反直觉的结果
    在这里插入图片描述
    但在比较null的情况的时候,我们一般使用==
    在这里插入图片描述
    所以,除了比较属性为null或undefined的情况下,我们使用相等操作符,其他情况建议全等操作符。
  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值