JavaScript内置对象总结介绍

本文详细介绍了JavaScript的浏览器对象模型,包括值属性(如Infinity, NaN, undefined, globalThis)、函数属性(如eval, isNaN, parseFloat等)、基本对象(如Object, Function, Boolean, Symbol)和错误对象(Error及其子类型)。此外,还涵盖了数字和日期对象(Number, BigInt, Math, Date)、字符串对象、可索引集合对象(Array, TypedArray)、使用键的集合对象(Map, Set, WeakMap, WeakSet)、结构化数据(ArrayBuffer, SharedArrayBuffer, Atomics, DataView, JSON)以及控制抽象对象(Promise, Generator, AsyncFunction)。最后,讲解了反射相关的Reflect和Proxy对象。

目录

浏览器对象模型

(1)值属性

(2)函数属性

(3)基本对象

(4)错误对象

(5)数字和日期对象

(6)字符串

(7)可索引的集合对象

(8)使用键的集合对象

(9)结构化数据

(10)控制抽象对象

(11)反射

浏览器对象模型

  浏览器对象模型,是用来创建浏览器窗口的模型,最顶端是window对象

(1)值属性

 这些全局属性返回一个简单值,这些值没有自己的属性和方法

  1. Infinity:全局属性Infinity是一个数值,表示无穷大
  2. NaN:全局属性NaN的值表示不是一个数字,它的类型是Number类型
  3. undefined:全局属性undefined表示原始值undefined,他是js的一个原始数据类型
  4. globalThis:全局属性globalThis包含全局的this值,类似于全局对象(global object)

(2)函数属性


全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。

  1. eval():eval() 函数会将传入的字符串当做 JavaScript 代码进行执行。
  2. isNaN():isNaN() 函数用来确定一个值是否为NaN 。
  3. parseFloat():parseFloat() 函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。
  4. parseInt():parseInt(string, radix)   解析一个字符串并返回指定基数的十进制整数, radix 是2-36之间的整数,表示被解析字符串的基数。
  5. decodeURI():decodeURI() 函数能解码由encodeURI 创建或其它流程得到的统一资源标识符(URI)。
  6. decodeURIComponent():decodeURIComponent() 方法用于解码由 encodeURIComponent 方法或者其它类似方法编码的部分统一资源标识符(URI)。
  7. encodeURI():encodeURI()  函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。
  8. encodeURIComponent():encodeURIComponent()函数通过将一个,两个,三个或四个表示字符的UTF-8编码的转义序列替换某些字符的每个实例来编码 URI (对于由两个“代理”字符组成的字符而言,将仅是四个转义序列

(3)基本对象

 顾名思义,基本对象是定义或使用其他对象的基础。基本对象包括一般对象、函数对象和错误对象。

  1. Object:Object 构造函数创建一个对象包装器。
  2. Function:每个 JavaScript 函数实际上都是一个 Function 对象。
  3. Boolean:Boolean对象是一个布尔值的对象包装器。
  4. Symbol:symbol 是一种基本数据类型 。

(4)错误对象


 错误对象是一种特殊的基本对象。它们拥有基本的 Error 类型,同时也有多种具体的错误类型。

  1. Error:通过Error的构造器可以创建一个错误对象;当运行时错误产生时,Error的实例对象会被抛出;Error对象也可用于用户自定义的异常的基础对象。
  2. AggregateError:AggregateError当多个错误需要包装在一个错误中时,该对象表示一个错误。
  3. EvalError:EvalError对象代表了一个关于eval函数的错误.此异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性。
  4. InternalError:表示出现在JavaScript引擎内部的错误。
  5. RangeError:RangeError对象标明一个错误,当一个值不在其所允许的范围或者集合中。
  6. ReferenceError:ReferenceError对象代表当一个不存在的变量被引用时发生的错误。
  7. SyntaxError:SyntaxError 对象代表尝试解析语法上不合法的代码的错误。
  8. TypeError:TypeError对象用来表示值的类型非预期类型时发生的错误。
  9. URIError:URIError 对象用来表示以一种错误的方式使用全局URI处理函数而产生的错误。

(5)数字和日期对象

用来表示数字、日期和执行数学计算的对象。

  1. Number:Number 对象是经过封装的能让你处理数字值的对象;Number对象由Number()构造器创建。
  2. BigInt:BigInt是一种内置对象,它提供了一种方法来表示大于 253 - 1的整数。
  3. Math:Math是一个内置对象,它拥有一些数学常数属性和数学函数方法,但不是一个函数对象。
  4. Date:当创建一个JavaScript Date实例时,该实例呈现时间中的某个时刻。

(6)字符串

 用来表示和操作字符串的对象。

  1. String:String 全局对象是一个用于字符串或一个字符序列的构造函数。
  2. RegExp:RegExp 对象用于将文本与一个模式匹配。

(7)可索引的集合对象

这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。

  1. Array:Array对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。
  2. Int8Array:Int8Array 类型数组表示二进制补码8位有符号整数的数组,内容初始化为0。
  3. Uint8Array:Uint8Array 数组类型表示一个8位无符号整型数组,创建时内容被初始化为0。
  4. Uint8ClampedArray:Uint8ClampedArray类型化数组表示一个由值固定在0-255区间的8位无符号整型组成的数组。
  5. Int16Array:Int16Array类型数组代表二进制补码16位有符号整数的平台字节序的数组。
  6. Uint16Array:Uint16Array如果需要控制字节顺序,常使用DataView代替,内容被初始化为0。
  7. Int32Array:Int32Array 类型表示在平台顺序字节中一个双补码32位有符号的整型数组。
  8. Uint32Array:Uint32Array 如果需要对字节顺序进行控制,常使用DataView代替,多个中每个元素的初始值都是0。
  9. Float32Array:Float32Array类型数组代表的是平台字节顺序为32位的浮点数类型数组。
  10. Float64Array:Float64Array 类型数组代表的是平台字节顺序为64位的浮点数类型数组。
  11. BigInt64Array:BigInt64Array如果需要控制字节顺序的话,常使用代替DataView,内容0n初始化为。
  12. BigUint64Array: BigUint64Array如果要控制字符顺序,常使用DataView替代,内容初始化为0n。

(8)使用键的集合对象

这些集合对象在存储数据时会使用到键,包括可迭代的Map 和 Set,支持按照插入顺序来迭代元素。

  1. Map:Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值。
  2. Set:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
  3. WeakMap:WeakMap 对象是一组键/值对的集合,其中的键是弱引用的。其键必须是对象,而值可以是任意的。
  4. WeakSet:WeakSet 对象允许你将弱保持对象存储在一个集合中。

(9)结构化数据

这些对象用来表示和操作结构化的缓冲区数据,或使用 JSON编码的数据。

  1. ArrayBuffer:ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。
  2. SharedArrayBuffer:SharedArrayBuffer 对象用来表示一个通用的,固定长度的原始二进制数据缓冲区,类似于 ArrayBuffer 对象。
  3. Atomics:Atomics 对象提供了一组静态方法对 SharedArrayBuffer 和  ArrayBuffer 对象进行原子操作。
  4. DataView:DataView 视图是一个可以从 二进制ArrayBuffer 对象中读写多种数值类型的底层接口,使用它时,不用考虑不同平台的字节序问题。
  5. JSON:用于解析 JavaScript Object Notation  (JSON) 的 parse() 方法,以及将对象/值转换为 JSON字符串的 stringify() 方法。

(10)控制抽象对象

控件抽象可以帮助构造代码,尤其是异步代码(例如,不使用深度嵌套的回调)。

  1. Promise:Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。
  2. Generator:生成器对象是由一个 generator function 返回的,并且它符合可迭代协议和迭代器协议。
  3. GeneratorFunction:GeneratorFunction构造器生成新的生成器函数 对象。
  4. AsyncFunction:AsyncFunction 构造函数用来创建新的 异步函数 对象。

(11)反射

  1. Reflect:Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。
  2. Proxy:Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值