请教 object的用法详解,
拜托大家了1
Object对象
Object对象提供所有 JScript 对象通用的功能。语法:
new Object([value])
可选的value 参数用于将基本数据类型(number、Boolean、string 或 function)转换为对象,如果省略它,则产生没有内容的对象。因为number、Boolean、string 或 function这四种类型可能是通过非对象的方式引进的。
Object对象有两个属性:prototype 属性和onstructor 属性。有两种方法:toString方法和valueOf方法。
一 Object对象的方法
1. toString方法
Object 对象被包含在所有其它JScript对象中--在所有其它对象中它的方法和属性都是可用的。在用户定义的对象中可以重定义这些方法,并在适当的时候通过JScript调用。toString方法是经常被重定义的 Object 方法的例子。
toString方法返回对象的字符串表示。语法:
objectname.toString([radix])
radix参数指定将数字值转换为字符串时的进制。当然这样对象为数值时才能使用。toString方法适用于所有内置对象,返回值根据对象类型的不同而不同。下面给出了不同的对象类型和它的行为方法。
对象 |
行为 |
Array |
将 Array 的元素转换为字符串。结果字符串由逗号分隔,且连接起来。 |
Boolean |
如果 Boolean 值是 true,则返回 “true”。否则,返回 “false” |
Function |
返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称:function functionname( ) { [native code] } |
Number |
返回数字的文字表示。 |
String |
返回 String 对象的值。 |
默认 |
返回 “[object objectname]”,其中 objectname 是对象类型的名称。 |
2. valueOf 方法
valueOf 方法返回指定对象的原始值。语法:
object.valueOf( )
object 参数是除了Math 对象以外的任意JScript固有对象。Math对象没有valueOf方法。
每个JScript固有对象的valueOf方法定义不同。
对象 返回值 Array 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其行为与 Array.toString 和 Array.join 方法相同。 Boolean Boolean 值。 Date 存储的时间是从 1970 年 1 月 1 日开始计的毫秒数 UTC。 Function 函数本身。 Number 数字值。 Object 对象本身。这是默认情况。 String 字符串值。
一个简单的例子:
var add = new Function("x", "y", "return(x+y)");
alert(add.valueOf());
二 Object对象的属性
1. prototype 属性
prototype 属性返回对象类型原型的引用。语法:
objectname.prototype
用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的行为。
例如,要为固有对象添加新的方法,只要先声明该函数,然后将它加入到Array.prototype中并使用它。
例程1 为Array 对象添加返回数组中最大元素值的方法。
该代码执行后,y 保存数组x 中的最大值,或说 6。function array_max( )
{
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
所有固有对象都有只读的prototype属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
2. constructor属性
constructor属性表示创建对象的函数。语法:
object.constructor
object 参数是对象或函数的名称。constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有对象。constructor属性保存了对构造特定对象实例的函数的引用。