jscript 对象

继续学习,今天是周三 ,都有点精神衰弱了。。。。
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 关键字的值传递给新创建的空对象。然后构造函数负责为新对象执行适应的初始化(创建属性并给出其初始值)。完成后,构造函数返回它所构造的对象的一个参数。
在编写构造函数时,可以使用原型对象(它本身是所有构造函数的一个属性)的属性来创建继承属性和共享方法。原型属性和方法将按引用复制给类中的每个对象,因此它们都具有相同的值。
xview.prototype.set_dimension=function();
xview.prototype.set_visibility=function(visibility);
这样可以使利用构造函数xview 创建的所有对象使用这些属性,这些属性都是函数的返回值!!!
function init_avtive_play_status(the_xview)
{}
xview.prototype.state=init_active_play_status;
var c=xview[0].state()//state 的属性是一个方法,调用这个方法用对象.属性();
这是一个特别的用法,这只是对于利用此构造函数创建的对象,
使用这个原则,可以给预定义的构造函数(都具有原型对象)定义附加属性。例如,如果想要能够删除字符串的前后空格(与 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 + ")");
 
 
 
 
 
 
可以在一个对象中更改原型属性的值,新的值将覆盖默认值,但仅在该实例中有效。属于这个类的其他对象不受此更改的影响。

你可能感兴趣的:(JavaScript,对象,职场,休闲)