单体内置对象
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的正切值