javascript本地对象、内置对象和宿主对象

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

 

内置对象 GlobalMath

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)   //returns21

Math.floor(20.5)   //returns20

Math.round(20.5)   //returns21

 

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()方法,该方法返回一个01之间的随机数,不包括01

 

宿主对象

所有的非本地对象都是宿主对象即友ECMAscript实现的宿主环境提供的对象。所有BOMDOM对象都是宿主对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值