内置对象的分类以及概念理解
值属性
这些全局属性返回一个简单值,这些值没有自己的属性和方法。
Infinity
全局属性
Infinity
是一个数值,表示无穷大。
即,在一个计算得出的结果超过Number
最大值时,得到的结果就是Infinity
。
NaN
全局属性
NaN
的值表示不是一个数字。
通常是在Math
计算失败、字符串解析成数字但失败时,得到结果为NaN
。
undefined
全局属性
undefined
是全局作用域的一个变量。undefined
的最初值就是原始数据类型undefined
。
null
值
null
是一个字面量,它不像undefined
是全局对象的一个属性。null
是表示缺少的标识,指示变量未指向任何对象。把null
作为尚未创建的对象,也许更好理解。在 APIs 中,null
常在返回类型是对象,但没关联值的地方使用。
函数属性
全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。
eval()
eval()
函数会将传入的字符串当做 JavaScript 代码进行执行。
eval()
函数的工作在全局作用域下。
eval()
是一个危险的函数, 他执行的代码拥有着执行者的权利,可能导致不同方式的攻击。
eval()
通常比替代方法慢,因为它必须调用 JS 解释器,而许多其他结构则由现代 JS 引擎进行优化。
isFinite()
判定一个数字是否是有限数字。
isFinite
方法检测它参数的数值。如果参数是NaN
,正无穷大或者负无穷大,会返回false
,其他返回true
。
parseFloat()
将字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+或-),数字(0-9),小数点,或者科学记数法中的指数(e或E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。
如果参数字符串的第一个字符不能被解析成为数字,则parseFloat
返回NaN
。
parseInt()
parseInt
函数将其第一个参数转换为字符串,解析它,并返回一个整数或NaN
。如果不是NaN
,返回的值将是作为指定基数(基数)中的数字的第一个参数的整数。
encodeURI()
将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。
encodeURI
方法不会对下列字符编码:ASCII字母 数字 ~!@#$&*()=:/,;?+'
encodeURIComponent()
对统一资源标识符(URI)的组成部分进行编码的方法。它使用一到四个转义序列来表示字符串中的每个字符的UTF-8编码(只有由两个Unicode代理区字符组成的字符才用四个转义字符编码)。
encodeURIComponent
方法不会对下列字符编码 ASCII字母 数字 ~!*()'
decodeURI()
解码一个由
encodeURI
先前创建的统一资源标识符(URI)或类似的例程。
decodeURIComponent()
解码由
encodeURIComponent
方法或者其它类似方法编码的部分统一资源标识符(URI)。