全局内置对象
NaN
NaN 的值是 NaN。这个属性拥有特性 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }。
Infinity
Infinity 的值是 +∞。这个属性拥有特性 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }。
undefined
undefined 的值是 undefined。这个属性拥有特性 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }。
eval (x)
一个 eval 函数的直接调用是表示为符合以下两个条件的 CallExpression:
解释执行 CallExpression 中的 MemberExpression 的结果是个 引用 ,这个引用拥有一个 环境记录项 作为其基值,并且这个引用的名称是 "eval"。
parseInt (string , radix)
parseInt 函数根据指定的参数 radix,和 string 参数的内容解释结果来决定,产生一个整数值。string 开头的空白会被忽略。radix:可选,表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0或者undefined,则数字将以 10 为基础来解析。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。如果string 是以0开头,则认为该值是八进制的,将会以8进制解析该数,然后再确定radix的转换进制后再转换,也就是如果是0开头,先要将string转换为10进制,确认radix进制后再进行转换;如果string 是以0x或者0X开头,则认为该值十六进制的,与8进制的类似。
例子:
parseInt(4545,17) //21170 parseInt(067,8) //45 相当于下面的运算 6*8+7 //55 5*8+5 //45 parseInt(067) //55 parseInt(67) //67 parseInt(0x55,20) //165 5+5*16 //85 5+8*20 //165
当调用 parseInt 函数时,采用以下步骤:
- 令 inputString 为 ToString(string)。
- 令 S 为一个新创建的子字符串,它由 inputString 的第一个非 StrWhiteSpaceChar 字符和它后面跟着的所有字符组成。( 换句话说 , 删掉前面的空白。) 如果 inputString 不包含任何这样的字符 , 则令 S 为空字符串。
- 令 sign 为 1。
- 如果 S 不是空并且 S 的第一个字符是减号 -, 则令 sign 为−1。
- 如果 S 不是空并且 S 的第一个字符加号 + 或减号 -, 则删除 S 的第一个字符。
- 令 R = ToInt32(radix).
- 令 stripPrefix 为 true.
-
如果 R ≠ 0, 则
- 如果 R < 2 或 R > 36, 则返回 NaN。
- 如果 R ≠ 16, 令 stripPrefix 为 false.
-
否则 , R = 0
- 令 R = 10.
-
如果 stripPrefix 是 true, 则
- 如果 S 长度大于 2 并且 S 的头两个字符是“0x”或“0X”, 则删除 S 的头两个字符并且令 R = 16.
- 如果 S 包含任何不是 radix-R 进制的字符,则令 Z 为 S 的这样的字符之前的所有字符组成的子字符串;否则令 Z 为 S。.
- 如果 Z 是空 , 返回 NaN.
- 令 mathInt 为 Z 的 radix-R 进制表示的数学值,用字母 A-Z 和 a-z 来表示 10 到 35 之间的值。( 但是 , 如果 R 是 10 并且 Z 包含多余 20 位的值 , 可以替换 20 位后的每个数字为 0, 这是实现可选的功能 ; 如果 R 不是 2, 4, 8, 10, 16, 32, 则 mathInt 可以是 Z 的 radix-R 进制表示的依赖于实现的近似值。)
- 令 number 为 mathInt 的数值 .
- 返回 sign × number.
parseInt 可以只把 string 的开头部分解释为整数值;它会忽略所有不能解释为整数记法的一部分的字符,并且没有指示会给出任何这些忽略的字符。
parseFloat (string)
parseFloat 函数根据 string 参数的内容解释为十进制字面量的结果来决定,产生一个数值。
当调用 parseFloat 函数,采用以下步骤:
- 令 inputString 为 ToString(string).
- 令 trimmedString 为一个新创建的子字符串,它由 inputString 的非 StrWhiteSpaceChar 字符的最左边字符和它右边跟着的所有字符组成。( 换句话说 , 删掉前面的空白。) 如果 inputString 不包含任何这样的字符 , 则令 trimmedString 为空字符串。
- 如果 trimmedString 或 trimmedString 的任何前缀都不满足 StrDecimalLiteral 的语法 , 返回 NaN。
- 令 numberString 为满足 StrDecimalLiteral 语法的 trimmedString 的最长前缀,可能是 numberString 自身。
- 返回 numberString 的 MV 的数值。
parseFloat 可以只把 string 的开头部分解释为数值;它会忽略所有不能解释为数值字面量记法的一部分的字符,并且没有指示会给出任何这些忽略的字符。
isNaN (number)
如果指定参数为 NaN,则返回 true,否则返回 false。
- 如果 ToNumber(number) 是 NaN, 返回 true.
- 否则 , 返回 false.
一个用 ECMAScript 代码来测试值 X 是否是 NaN 的方式是用 X !== X 表达式。当且仅当 X 是 NaN 时结果才是 true。
isFinite (number)
全局 isFinite() 函数用来判断被传入的参数值是否为一个有限数值(finite number)。在必要情况下,参数会首先转为一个数值。
你可以用这个方法来判定一个数字是否是有限数字。isFinite方法检测它参数的数值。如果参数是NaN,正无穷大或者负无穷大,会返回false,其他返回true。
Object ( . . . )
Function ( . . . )
Array ( . . . )
String ( . . . )
Boolean ( . . . )
Number ( . . . )
Date ( . . . )
RegExp ( . . . )
Error ( . . . )
EvalError ( . . . )
RangeError ( . . . )
SyntaxError ( . . . )
TypeError ( . . . )
URIError ( . . . )
全局对象的其他属性
Math
JSON