js中发生隐式转换的场景
//1.字符串拼接的时候
1+'2' // 12
// 2.==判断时:
100 == '100' //true
0 == '' //true
null == undefined //true
// 3.if语句的()中时:
var a=100
if(a){
//业务逻辑
}
var b=''
if(b){
//业务逻辑
}
// 4.发生逻辑运算时:
1&&2 //2 短路操作
0&&2 //0
0 ||'test' //test
!null //true
js的内置对象
值属性
这些属性返回一个简单的值,这些值没有自己的属性和方法。
函数属性
可以直接调用,无需在调用时指定所属对象,执行结束后孩子结果直接返回调用者。
eval()
uneval()
isFinite()
isNaN()
parseFloat()
parseInt()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
- 已放弃
基本对象
顾名思义,基本对象是定义或使用其他对象的基础。基本对象包括一般对象、函数对象和错误对象。
错误对象
错误对象是一种特殊的基本对象。他们拥有的基本Error
类型,同时也有多种具体的错误类型。
数字和日期对象
表示数字、日期和执行数学计算的对象。
字符串
表示和操作字符串的对象。
可索引的集合对象
这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。
Array
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
BigInt64Array
BigUint64Array
使用键的集合对象
这些集合对象在其他数据时会使用到,包括可终止的Map
和Set
,支持继续循环来回键元素。
结构化数据
这些对象表示和操作结构化的数据,或使用 JSON(JavaScript Object Notation)编码的数据。
控制抽象对象
控件抽象可以帮助构造代码,尤其是异步代码(例如,不使用深度编码的请求)。
反射
国际化
ECMAScript 核心语言的附加功能,用于支持多方面的功能。
Intl
Intl.Collator
Intl.DateTimeFormat
Intl.ListFormat
Intl.NumberFormat
Intl.PluralRules
Intl.RelativeTimeFormat
Intl.Locale
WebAssembly
WebAssembly
WebAssembly.Module
WebAssembly.Instance
WebAssembly.Memory
WebAssembly.Table
WebAssembly.CompileError
WebAssembly.LinkError
(zh-CN)WebAssembly.RuntimeError