运行时提供了以下标准化API,供边缘运行的用户函数使用。
JavaScript标准内置对象
JavaScript内置对象都可使用。但下面这些例外:
注意
eval()出于安全原因,不允许使用。
uneval() 出于安全原因,不允许使用。
new Function 出于安全原因,不允许使用。
值属性
这些全局属性返回一个简单值,这些值没有自己的属性和方法。
- globalThis
- Infinity
- NaN
- undefined
函数属性
全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。
- eval()出于安全原因,不允许使用。
- uneval()出于安全原因,不允许使用。
- isFinite()
- isNaN()
- parseFloat()
- parseInt()
- decodeURI()
- decodeURIComponent()
- encodeURI()
- encodeURIComponent()
基本对象
顾名思义,基本对象是定义或使用其他对象的基础。基本对象包括一般对象、函数对象和错误对象。
- Object
- Function (new Function出于安全原因,不允许使用。)
- Boolean
- Symbol
错误对象
错误对象是一种特殊的基本对象。它们拥有基本的Error类型,同时也有多种具体的错误类型。
- Error
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
- AggregateError
- InternalError
数字和日期对象
用来表示数字、日期和执行数学计算的对象。
- Number
- BigInt
- Math
- Date
字符串
用来表示和操作字符串的对象。
- String
- RegExp
可索引的集合对象
这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。
- Array
- Int8Array
- Uint8Array
- Uint8ClampedArray
- Int16Array
- Uint16Array
- Int32Array
- Uint32Array
- Float32Array
- Float64Array
- BigInt64Array
- BigUint64Array
使用键的集合对象
这些集合对象在存储数据时会使用到键,支持按照插入顺序来迭代元素。
- Map
- Set
- WeakMap
- WeakSet
结构化数据
这些对象用来表示和操作结构化的缓冲区数据,或使用JSON(JavaScript Object Notation)编码的数据。
- ArrayBuffer
- DataView
- JSON
控制抽象对象
控件抽象可以帮助构造代码,尤其是异步代码(例如,不使用深度嵌套的回调)。
- Promise
- Generator
- AsyncFunction
反射
- Reflect
- Proxy
其他
- arguments
Web全局API
每个全局对象Worker Global Scope都可以访问这些方法:
Base64
- atob(),解码已使用BASE64编码的字符串。
atob(data: string): string;
- btoa(),对二进制数据或字符串进行BASE64编码。
btoa(data: string | ArrayBuffer | ArrayBufferView): string;
Timer(即将支持)
- setInterval()
- clearInterval()
- setInterval()
- clearTimeout()
Fetch
Encoding
TextEncoder 和 TextDecoder 都支持UTF-8编码/解码。
URL
URL API支持符合HTTP和HTTPS方案的URL。