基础题目1

一、JavaScript共有八种数据类型

分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。

二、null和undefined的区别

1.undefined是声明之后的默认值,null不是
2.undefined一般是给基本类型做未赋值,null一般给对象做未赋值。对象为空置null,数组为空置null,函数为空置null,非对象用undefined
3.undefined不是关键字,null是关键字

三、typeof null 的结果是Object

四、为什么0.1+0.2!==0.3

浮点数的精度问题,0.1和0.2在内存里的结果并不是0.1和0.2,所以0.1+0.2的结果是约等于0.3但并不等于0.3

(n1 + n2).toFixed(2) // 注意,toFixed(num) 方法可把 Number 四舍五入为指定小数位数的数字。n1=0.1,n2=0.2时,此结果为0.30

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3

function numberepsilon(arg1,arg2){                   
  return Math.abs(arg1 - arg2) < Number.EPSILON;        
}        

console.log(numberepsilon(0.1 + 0.2, 0.3)); // true

五、typeof NaN; // “number”

NaN表示一个不能表示的数字

六、let、const、var的区别

var let const
var和let的区别:
1.var是ES5的,let是ES6的
2.作用域不同,var是函数作用域或全局作用域,let是块级作用域
3.var有变量提升,let没有
4.var可以重复声明,let不能重复声明

let和const的区别:
1.let可以重新赋值,其他几乎一样

七、对JSON的理解

json可以表示对象、数组、布尔、string、number,一般在ajax请求里得到的结果就是json
JSON 是一种基于文本的轻量级的数据交换格式。它可以被任何的编程语言读取和作为数据格式来传递。
在项目开发中,使用 JSON 作为前后端数据交换的方式。在前端通过将一个符合 JSON 格式的数据结构序列化为
JSON 字符串,然后将它传递到后端,后端通过 JSON 格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。
因为 JSON 的语法是基于 js 的,因此很容易将 JSON 和 js 中的对象弄混,但是应该注意的是 JSON 和 js 中的对象不是一回事,JSON 中对象格式更加严格,比如说在 JSON 中属性值不能为函数,不能出现 NaN 这样的属性值等,因此大多数的 js 对象是不符合 JSON 对象的格式的。
在 js 中提供了两个函数来实现 js 数据结构和 JSON 格式的转换处理,

JSON.stringify 函数,通过传入一个符合 JSON 格式的数据结构,将其转换为一个 JSON 字符串。如果传入的数据结构不符合 JSON 格式,那么在序列化的时候会对这些值进行对应的特殊处理,使其符合规范。在前端向后端发送数据时,可以调用这个函数将数据对象转化为 JSON 格式的字符串。
JSON.parse() 函数,这个函数用来将 JSON 格式的字符串转换为一个 js 数据结构,如果传入的字符串不是标准的 JSON 格式的字符串的话,将会抛出错误。当从后端接收到 JSON 格式的字符串时,可以通过这个方法来将其解析为一个 js 数据结构,以此来进行数据的访问。

八、Unicode、UTF-8的区别

Unicode是一个字符集
UTF-8是使用最广泛的Unicode编码方式,它是一种可变长的编码方式,可以是1—4个字节不等,它可以完全兼容ASCII码的128个字符。

九、什么是 DOM 和 BOM?

DOM(Document Object Model) 指的是文档对象模型,它指的是把文档当做一个对象,这个对象主要定义了处理网页内容的方法和接口。用途:把网页变成js对象,进行增删改查操作 document.getElementById进行操作,对各种属性进行修改

BOM (Browser Object Model) 指的是浏览器对象模型,它指的是把浏览器当做一个对象来对待,这个对象主要定义了与浏览器进行交互的法和接口。BOM的核心是 window,而 window 对象具有双重角色,它既是通过 js 访问浏览器窗口的一个接口,又是一个 Global(全局)对象。这意味着在网页中定义的任何对象,变量和函数,都作为全局对象的一个属性或者方法存在。window 对象含有 location 对象、navigator 对象、screen 对象等子对象,并且 DOM 的最根本的对象 document 对象也是 BOM 的 window 对象的子对象。
作者:CUGGZ
链接:https://juejin.cn/post/6940945178899251230
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值