jscript 对象
2008-02-20 11:15:45
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fangfang0717.blog.51cto.com/236466/62512 |
继续学习,今天是周三 ,都有点精神衰弱了。。。。
jscript 对象 有属性和方法,
属性是一个值或者是一组值,一组值的形式是数组或对象,
jscript 支持四种对象 宿主对象IE 给出的,内部对象,自定义对象,ActiveX 外部对象。
作为数组的对象
数组也是对象,于对象不同在于数组有length 属性
1如果属性的名称是标识符》
可以在对象的后面用.表示
var myObj=new Object();
myObj.name="";
myObj.age=42;
2如果不是简单的标识符,或者在写脚本的时候不知道,可以在方括号中使用任意表达式来索引属性,
在 Jscript 中所有 expando 属性的名称在被添加到对象之前被转换为字符串。
如:::
var myObj = new Object();
// 添加两个无法写在 object.property 语
// 法中的 expando 属性。
// 第一个属性包含无效字符(空格),
// 所以必须写在方括号里。
myObj["not a valid identifier"] = "This is the property value";
// 第二个 expando 名称是一个数字,
// 所以也必须写在方括号里。
myObj[100] = "100"; 由此可以看出数组也是对象。
传统的作法是赋给数组元素以 0 开始的数字索引。这些数组元素与 length 属性相交互。然而,由于所有的数组也是对象,也支持 expando 属性。请注意,虽然如此,expando 属性并不以任何方式与 length 属性相交互。例如:
// 三个元素的数组
var myArray = new Array(3);
// 添加数据
myArray[0] = "Hello";
myArray[1] = 42;
myArray[2] = new Date(2000, 1, 1);
// 显示数组的长度 3
window.alert(myArray.length);
// 添加某些 expando 属性
myArray.expando = "JScript!";
myArray["another Expando"] = "Windows";
// 仍然显示 3,因为两个 expando 属性
// 并不影响长度。
window.alert(myArray.length);
创建自己的对象。。。
要创建自己对象的实例,必须首先为其定义一个构造函数,构造函数创建一个新的对象,赋赋予对象属性,并在合适的时候赋予方法:
创建一个构造函数:
function xview (canvas,index)
{
if(!this.canvas)
{
if((canvas==undefined)||canvas==""){
this.canvas=document.body;
}
else{
this.canvas=document.getElementById(canvas);
}
}
this.index=index;
this.live_mode=true;
this.playing=false;
this.speed=normal_speed;
}//创建了构造函数,并用this 指定了属性
用new 创建对象的实例
}
var xviews=new Array;
xviews[0]=new xview("xviewo",0);
xviews[1]=new xview("xviewo",1);
xviews[2]=new xview("xviewo",2);
xviews[3]=new xview("xviewo",3);
xviews[4]=new xview("xviewo",4);
var num_xviews=xviews.length;
var active_xview=0;//通过
通过构造函数将一个参数作为特定的 this 关键字的值传递给新创建的空对象。然后构造函数负责为新对象执行适应的初始化(创建属性并给出其初始值)。完成后,构造函数返回它所构造的对象的一个参数。
使用这个原则,可以给预定义的构造函数(都具有原型对象)定义附加属性。例如,如果想要能够删除字符串的前后空格(与 VBScript 的 Trim 函数类似),就可以给 String 原型对象创建自己的方法。
// 增加一个名为 trim 的函数作为
// String 构造函数的原型对象的一个方法。
String.prototype.trim = function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}//String 本身是一个构造函数了,为它添加一个属性是一个方法
// 有空格的字符串
var s = " leading and trailing spaces "//变量s 相当于一个对象,调用于增加的方法!
// 显示 " leading and trailing spaces (35)"
window.alert(s + " (" + s.length + ")");
// 删除前后空格
s = s.trim();
// 显示"leading and trailing spaces (27)"
window.alert(s + " (" + s.length + ")");
本文出自 “Fighting” 博客,请务必保留此出处http://fangfang0717.blog.51cto.com/236466/62512 本文出自 51CTO.COM技术博客 |


fangfang0717
博客统计信息
热门文章
最新评论
友情链接