单体内置对象
ECMA262 对单体内置对象的定义是:“由ECMAScript 实现提供的,不依赖于宿主环境的对象,这些对象在ECMAScript 程序执行就已经存在了。”
Global
对象
Global
(全局)对象是不存在的,它不属于其他任何对象的属性和方法,最终都是它的属性和方法;所有在全局作用域中定义的属性和函数,都是Global
的对象的属性。
URI
编码方法encodeURI()
不会对本身属于URI的特殊字符进行编码,例如:冒号、正斜杠、问号和井号decodeURI()
对encodeURI()
编码的字符进行解码encodeURIComponent()
会对任何非标准字符进行编码decodeURIComponent()
对encodeURIComponent()
编码的字符进行解码
eval()
方法eval()
只接收一个参数,即要执行的字符串
eval("alert('hi')"); //等同于alert('hi'),打印hi
eval("var box = 'Hello world';"); //打印Hello world
eval("function sayHi(){alert('hi');}");
sayHi(); //打印hi
在eval()
中创建的任何变量或函数都不会被提升,因为值解析代码的时候,它们被包含在一个字符串中;它们只在eval()
执行的时候创建。
PS:在使用eval()
时必须极为谨慎,特别是在用它执行用户输入数据的情况下。否则,可能会有恶意用户输入威胁你的站点或应用程序安全的代码(即所谓的代码注入)。
Global
对象属性
属性 | 方法 | 属性 | 方法 |
---|---|---|---|
undefined |
特殊值undefined
|
Date |
构造函数Date
|
NaN |
特殊值NaN
|
RegExp |
构造函数RegExp
|
Infinity |
特殊值Infinity
|
Error |
构造函数Error
|
Object |
构造函数Object
|
EvalError |
构造函数EvalError
|
Array |
构造函数Array
|
RangeError |
构造函数RangeError
|
Function |
构造函数Function
|
ReferenceError |
构造函数ReferenceError
|
Boolean |
构造函数Boolean
|
SyntaxError |
构造函数SyntaxError
|
String |
构造函数String
|
TypeError |
构造函TypeError
|
Number |
构造函数Number
|
URIError |
构造函数URIError
|
window对象
ECMAScript 虽然没指出如何直接访问 Global
对象,但Web 浏览器都是将这个全局对象作为window
对象的一部分加以实现的。
Math
对象
ECMAScript 还为保存数学公式和信息提供了一个公共位置,即Math
对象。Math
对象提供的计算功能执行起来要比自己编写JavaScript 计算程序快得多。
Math
对象的属性
属性 | 说明 |
---|---|
Math.E |
常量e
|
Math.LN10 |
10 的自然对数 |
Math.LN2 |
2 的自然对数 |
Math.LOG2E |
以2 为底e 的对数 |
Math.LOG10E |
以10 为底e 的对数 |
Math.PI |
常量π
|
Math.SQRT1_2 |
1/2 的平方根 |
Math.SQRT2 |
2 的平方根 |
min()
和max()
方法min()
和max()
方法用于确定一组数值中的最小值和最大值。
舍入方法Math.ceil()
执行向上舍入Math.floor()
向下舍入Math.round()
四舍五入
random()
方法random()
方法返回一个[0,1)的随机数。
可封装成一个函数:
function selectFrom(start,end){
var choices = end - start +1;
return Math.floor(Math.Random()*choices + start);
}
alert(slectFrom(5,9)) //打印5-9之间的随机数
其他方法
方法 | 说明 | 方法 | 说明 |
---|---|---|---|
Math.abs(num) |
返回num 的绝对值 |
Math.asin(x) |
返回x 的反正弦值 |
Math.exp(num) |
返回Math.E 的num 次幂 |
Math.atan(x) |
返回x 的反正切值 |
Math.log(num) |
返回num 的自然对数 |
Math.atan2(y,x) |
返回y/x 的反正切值 |
Math.pow(num,power) |
返回num 的power 次幂 |
Math.cox(x) |
返回x 的余弦值 |
Math.sqrt(num) |
返回num 的平方根 |
Math.sin(x) |
返回x 的正弦值 |
Math.acos(x) |
返回x 的反余弦值 |
Math.tan(x) |
返回x 的正切值 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。