javascript学习---创建自己的对象

在javascript中内置了Object,Function,Array,String等内置对象,下面我们要创建自己的对象,要创建对象首先是创建对象的构造函数,然后再创建一个该对象的实例,这样我们就可以操作该对象了。

1.创建构造函数

Function对象是创建构造函数的起点。下面我们就用它来创建一个构造函数:

1 function myConstructor(message){
2     alert(message);
3 }

 

这不是我们平时创建的函数吗?呵呵,是的!同时它也是Function对象的一个实例;它也是我们要创建的对象myConstructor的构造函数。

下面我们就来:

2.创建对象的一个实例:

1 var myObject=new myConstructor();

 

这样我们就有了一个属性自己的new对象了。加油!

执行看一下结果,会发现不用调用函数了,原来只要创建了一个对象的实例就可以直接执行构造函数了! 

现在的构造函数功能很简单,接下我们继续壮大该函数:

3.给对象添加不同等级的属性及方法

代码
 1 function myConstructor(id){
 2               //创建公有属性
 3               this.id=id;
 4               //创建公有方法
 5               this.sayHello=function(){
 6                 alert("Hello World!");
 7               };
 8               //创建私有属性
 9               var user="gp";
10              //创建私有方法
11               var sayName=function(){
12                 alert(user);
13               }
14             }         
15              var myObject1=new myConstructor("id1");
16              var myObject2=new myConstructor("id2");
17              //创建静态属性
18              myObject1.name="123";
19              //创建静态方法
20              myObject1.sayMy=function(){
21               alert("this is mine");
22              }
23              
24              
25             //查看myObject1的静态name属性
26             alert(myObject1.name);
27             //查看myObject1的静态sayMy方法
28             myObject1.sayMy();
29             //查看myObject1的公有id属性
30             alert(myObject1.id);
31             //查看myObject1的公有sayHello方法
32             myObject1.sayHello();
33             
34             
35             //查看myObject2的静态name属性
36             alert(myObject2.name); //提示未定义
37             //查看myObject2的静态sayMy方法
38             //myObject2.sayMy(); 提示myObject2.sayMy is not a function
39             //查看myObject2的公有id属性
40             alert(myObject2.id);
41             //查看myObject2的公有sayHello方法
42             myObject2.sayHello();
43             
44             //通过实例查看构造函数的私有属性
45             alert(myObject1.user);//提示未定义
46             
47             //通过实例查看构造函数的私有方法
48             //myObject2.sayName(); 提示myObject2.sayName is not a function


 

posted @ 2010-04-23 18:15  郭培  阅读(247)  评论(0编辑  收藏  举报