tanleihaoren 发表于 2013-1-29 07:45:31

JavaScript之创建对象

第一种:JSON方式
格式:
var 对象名 = {
              变量1: 变量1的值,
              变量1: 变量1的值,
              ……,
              函数1: function() {
                     函数体
},
函数2: function() {
                     函数体
},
……
};
说明:
(1)       大括号内直接填写变量或者函数;
(2)       对象的内容与值以冒号分隔,成对出现;
(3)       包含的变量或者函数之间以逗号分隔;
(4)       函数需要写在function(){}的大括号之内。
例子:
var  对象名 = {
       name: “张三”,
       age: 20,
       eat: function() {
              alert(‘我要吃饭’);
       },
       sleep: function() {
              alert(‘我要睡觉’);
       }
};
 
注释:类似的方式也叫做匿名类
匿名类举例:     { index: '//', reg: new RegExp('^//.*$'), css: "comment" }
上面的方式创建了类,只是没赋给一个变量而已。
 
第二种:function方式
格式:
function data() {
       this.变量1=变量1的值;
       this.变量2=变量2的值;
       ……;
this.函数1= function() {
       函数体
};
this.函数2= function() {
       函数体
};
……;
}
说明:
(1)       其内的变量或者函数前必需写上this关键字;
(2)       对象的内容与值以等号分隔,成对出现;
(3)       包含的变量或者函数之间以分号分隔。
(4)       函数需要写在function(){}的大括号之内。
例子:
       function data() {
       this.name=“张三”;
       this.age=20;
       this.eat=function() {
              alert(‘我要吃饭’);
       };
       this.sleep=function() {
              alert(‘我要睡觉’);
       }
}
第三种:原型方式
格式:
var 对象名 = {};
    对象名.prototype.变量1=变量1的值;
    对象名.prototype.变量2=变量2的值;
    ……;
对象名.prototype.函数1= function() {
       函数体
};
对象名.prototype.函数2= function() {
       函数体
};
……;
说明:
(1)       初始对象体内可以不定义任何东西;
(2)       在要定义的变量前加“对象名.prototype.”的格式;
(3)       对象的内容与值以等号分隔,成对出现;
(4)       包含的变量或者函数之间以分号分隔,也可以省去分号。
(5)       函数需要写在function(){}的大括号之内。
例子:
var data = {};
    data.prototype. name =“张三”;
    data.prototype. age =20;
    data.prototype. eat = function() {
       alert(‘我要吃饭’);
};
data.prototype. sleep= function() {
       alert(‘我要睡觉’);
};
第四种:create方式
该方式利用了Prototype JavaScript组件库。
格式:
       var 对象名 = Class.create();
       Object.extend(对象名.prototype, {
              变量1: 变量1的值,
              变量1: 变量1的值,
              ……,
              函数1: function() {
                     函数体
},
函数2: function() {
                     函数体
},
……
});
说明:
(1)       对象的创建使用了Prototype库中的Class.create()函数;
(2)       对象的内容使用Prototype库中的Object.extend()函数来扩展;
(3)       被扩展的对象在传入Object.extend函数时一定要带上prototype,
(4)       扩展内容被大括号包含,其内与JSON方式的定义格式完全相同。
例子:
       var data = Class.create();
       Object.extend(dta.prototype, {
       name: “张三”,
       age: 20,
       eat: function() {
              alert(‘我要吃饭’);
       },
       sleep: function() {
              alert(‘我要睡觉’);
       }
       });
 
       其实,JS对象的定义还有其它的方式,你也可以用上面4种进行组合定义,这显出了JS作为动态语言的自由性。
JS对象的创建正规方法如下:
var d1 = new Data();
       JS对象变量的引用方式有两种:
(1)       点号方式引用,如,data.name。
(2)       数组方式引用,如,data[‘name’]。
页: [1]
查看完整版本: JavaScript之创建对象