在javascript中定义自己的对象有如下几种方式:
1:构造函数法
<script type="text/javascript"> function Dog(name,weight) { this._name=name; this._weight=weight; this._show=function() { document.write(dog._name+" is "+dog._sex); } } var dog=new Dog("Join",100); dog._sex="male"; dog._show(); </script>
注解:
1:这里定义了一个Dog对象(在javascript中,函数就是对象,这里function Dog(name,weight) 同时也是构造函数),用new关键字创建了一个对象实例dog。
2:其中_name、_weight、_show、_sex为实例dog的属性。可以通过:实例名.属性名 或 实例名[“属性名”]访问实例属性,即dog._name=dog["_name"]。
3:在构造函数(这里function Dog(name,weight) 同时也是构造函数)中的属性会附加到所有的实例上,例:var dog1=new Dog(…);dog1会有_name、_weight、_show属性,但是_sex属性只为dog实例专有,它不会被加载到其他对象上。
2:Object创建法:
object对象提供了一种创建自定义对象的简单方法,不需要再定义构造函数。
<script type="text/javascript"> var cat=new Object(); cat.name="david"; cat.sex="female"; document.write(cat.name+" is "+cat.sex); </script>
注解:
这里使用Object对象创建了一个cat实例。
3:对象初始化器方式
<script type="text/javascript"> var Cow={ name :"BeautifulCow", sex :"female", weight :1000, show :function(){alert(this.name+this.sex+this.weight+this.address)} } Cow.address="USA.NewYork" Cow.show(); </script>
注解:
1、这里其实我们已经实现了静态的属性和方法,无须创建实例。