javascript

位置:IT落伍者 >> javascript >> 浏览文章

JScript对象


发布日期:2023年07月10日
 
JScript对象

Jscript 对象是属性和方法的集合一个方法就是一个函数是对象的成员属性是一个值或一组值(以数组或对象的形式)是对象的成员Jscript 支持四种类型的对象内部对象生成的对象宿主给出的对象(如 Internet 浏览器中的 window 和 document)以及 ActiveX 对象(外部组件)

作为数组的对象

在 Jscript 中对象和数组几乎是以相同的方式处理的对象和数组均可以被赋予任意值实际上数组只是一种特殊的对象数组和对象的区别在于数组有一个奇妙的 length 属性而对象没有这意味着可以给数组的一个元素赋予比其他元素更大的值例如myArray[] = hello然后 length 属性将自动地被更新为 (新长度)同样如果修改数组的 length 属性将删除不再是数组部分的元素

Jscript 中所有的对象均支持expando属性或那些可以在运行时动态添加和删除的属性这些属性可以有包含数字的任意名称如果属性的名称是简单的标识符<<参考标识符规则>>可以在对象名称的后面加句点例如

var myObj = new Object();

// 添加两个 expando 属性name 和 age

myObjname = Fred;

myObjage = ;

如果属性名称不是一个简单的标识符或者在写脚本的时候不知道可以在方括号中使用任意表达式来索引属性在 Jscript 中所有 expando 属性的名称在被添加到对象之前被转换为字符串

var myObj = new Object();

// 添加两个无法写在 objectproperty 语

// 法中的 expando 属性

// 第一个属性包含无效字符(空格)

// 所以必须写在方括号里

myObj[not a valid identifier] = This is the property value;

// 第二个 expando 名称是一个数字

// 所以也必须写在方括号里

myObj[] = ;

传统的作法是赋给数组元素以 开始的数字索引这些数组元素与 length 属性相交互然而由于所有的数组也是对象也支持 expando 属性请注意虽然如此expando 属性并不以任何方式与 length 属性相交互例如

// 三个元素的数组

var myArray = new Array();

// 添加数据

myArray[] = Hello;

myArray[] = ;

myArray[] = new Date( );

// 显示数组的长度

windowalert(myArraylength);

// 添加某些 expando 属性

myArrayexpando = JScript!;

myArray[another Expando] = Windows;

// 仍然显示 因为两个 expando 属性

// 并不影响长度

windowalert(myArraylength);

虽然 Jscript 并不直接支持多维数组但是可以在数组元素中存储任意种类的数据(包含其他数组)所以通过在另一个数组的元素里存储其他数组可以得到多维数组的特性例如下面的代码为最大为 的数字建立了乘法表

// 若是更大的表请改变本数

var iMaxNum = ;

// 循环计数

var i j;

// 新数组由于数组从 开始计数

// 而不是 所以数组大小为 iMaxNum +

var MultiplicationTable = new Array(iMaxNum + );

// 为每个主要的数做循环(表中的每一行)

for (i = ; i <= iMaxNum; i++)

{

// 生成表中的列

MultiplicationTable = new Array(iMaxNum + );

// 将乘法的结果存在行中

for (j = ; j <= iMaxNum; j++)

{

MultiplicationTable[j] = i * j;

}

}

windowalert(MultiplicationTable[][]); // 显示

windowalert(MultiplicationTable[][]); // 显示

windowalert(MultiplicationTable[][]); // 显示

               

上一篇:用JavaScript实现上下文字滚动特效

下一篇:js点击更换背景颜色或图片的实例代码