在javascript中,对象有特性(attribute),特性可以是原始值,也可以使引用值。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作属性(property)。
对象是用关键字new后跟实例化的类的名字创建的例如:
var o=new Object();
也可以使用
var o=new Object;
var o={};
对象废除
把对象的引用都设置为null,可以强制性的废除对象。
var o=new Object();
o=null;
早绑定和晚绑定
所谓绑定(binding),即把对象的接口与对象实例结合在一起的方法。
早绑定(early binding)是指在实例化对象之前定义它的特性和方法,这样编译器或解释程序能提前转换及其代码。javascript不是强类型语言,不支持早绑定。
晚绑定(late binding)指的是编译器或解释程序在运行之前不知道对象的类型。使用晚绑定,无需检查对象的类型,只需要检查对象是否支持特性和方法即可。javascript所有变量都是使用晚绑定方法。
本地对象:
独立于宿主环境的ECMAScript实现提供的对象。它们包括:
Object Function Array String
Boolean Number Date RegExp
Error EvalError RangeError ReferenceError
SyntaxErro TypeError URIError
内置对象 Global和Math
由ECMASscript实现提供的、独立于宿主环境的所有对象。
Global对象是ECMAscript好、中最特别的对象,因为它根本不存在。说它不存在是因为在ECMAscript中,不存在独立的函数,所有函数都必须是某个对象的方法。例如isNam(),isFinite(),parseInt()和parseFloat()等,都是Global对象的方法。
encodeURI()和encodeURIComponent()方法用于编码传递给浏览器的URI。这两个放的主要区别是encodeURI()不对URI中的特殊字符编码,例如冒号、斜杠、问号和英镑符号,而encodeURIComponent()则它发现的所有非标准字符进行编码。而对应有decodeURI()和decodeURIComponent()解码函数。这些URI方法encodeURI()、decodeURI()、encodeURIComponent()和decodeURIComponent()代替了BOM中的escape()和()方法。URI方法更可取,因为它们会对所有的Unicode符号编码,而BOM方法只能对ASCII符号正确编码。应尽量避免使用escape()和()方法。
Global对象的属性列表:
属性 |
说明 |
undefined |
Undefined类型的字面量 |
NaN |
非数的专用数值 |
Infinity |
无穷大的专用数值 |
Object |
Object的构造函数 |
Array |
Array的构造函数 |
Function |
Function的构造函数 |
Boolean |
Boolean的构造函数 |
String |
String的构造函数 |
Number |
Number的构造函数 |
Date |
Date的构造函数 |
RegExp |
RegExp的构造函数 |
Error |
Error的构造函数 |
EvalError |
EvalError的构造函数 |
RangeError |
RangeError的构造函数 |
ReferenceError |
ReferenceError的构造函数 |
SyntaxError |
SyntaxError的构造构造函数 |
TypeError |
TypeError的构造函数 |
URIError |
URIError的构造函数 |
Math对象
Math对象有几个对象,主要是数学专用值:
属性 |
说明 |
E |
值e,自然对数的底 |
LE10 |
10的自然对数 |
LN2 |
2的自然对数 |
LOG2E |
以2为底E的对数 |
LOG10E |
以10为底E的对数 |
PI |
值∏ |
SQRT1_2 |
1/2的平方根 |
SQRT2 |
2的平方根 |
min()和max()方法
用于判断一组数中的最小和最大值,这两个方法接受任意个参数,返回比较后的最小 最大值。
var iMax=Math.max(2,0,6,4); //iMax:6
var iMin=Math.min(2,0,6,4); //iMin:0
abs()方法返回数字的绝对值。
ceil()表示向上舍入
floor()表示向下舍入
round()标准的四舍五入
Math.ceil(20.5) //returns 21
Math.floor(20.5) //returns 20
Math.round(20.5) //returns 21
pow()方法用于把指定的数字升到指定的幂。
sqrt()方法用于返回指定数字的平方根
exp()方法用于把Math.E升到指定的幂
log()方法用于返回特定数字的自然对数
三角函数
方法 |
说明 |
acos(x) |
返回x的反余弦值 |
asin(x) |
返回x的反正弦值 |
atan(x) |
返回x的反正切值 |
atan2(y,x) |
返回y/x的反余弦值 |
cos(x) |
返回x的余弦值 |
sin(x) |
返回x的正弦值 |
tan(x) |
返回x的正切值 |
Math.random()方法,该方法返回一个0到1之间的随机数,不包括0和1。
宿主对象
所有的非本地对象都是宿主对象即友ECMAscript实现的宿主环境提供的对象。所有BOM和DOM对象都是宿主对象。