javascript对象模型

来源:互联网 发布:山东老年大学网络报名 编辑:程序博客网 时间:2024/06/05 10:34

javascript有几个非常重要的概念,很多人都忽略了,导致了很多后续的问题.

javascript有五个原始类型:Undefined,NULL,Boolean,Number,String.由于这些原始类型占据的空间是固定的,所以它们存储在较小的内存区域--栈中,如果一个值是引用类型的,那么它的存储空间将从堆中分配.

javascript中的对象全是引用类型

var o= new Object()

o是一个引用,也是一个对象

javascript中的函数对象也全是引用类型

 

javascript的对象模型用得最广的是混合的构造函数/原型方法,例:

 

function Car(sColor, iDoors, iMpg) {
    
this.color = sColor;
    
this.doors = iDoors;
    
this.mpg = iMpg;
    
this.drivers = new Array("Mike""Sue");
}


Car.prototype.showColor 
= function () {
    alert(
this.color);
}
;

var oCar1 = new Car("red"423);
var oCar2 = new Car("blue"325);

oCar1.drivers.push(
"Matt");

alert(oCar1.drivers);    
//outputs "Mike,Sue,Matt"
alert(oCar2.drivers);    //outputs "Mike,Sue"

 

上例就是一个混合的构造函数/原型方式,每个new出来的对象都拥有自己的属性,但每个对象都指向相同的函数showColor,showColor被每个对象共享(它使用了原型,而属性没使用原型,如果属性也使用原型,它们也将被所有对象共享,修改任何一个对象的属性都将影响到其它对象的属性被修改).

创建javascript对象有好几种方法,但这种方法是最优的,强烈建议使用这种方法

 
原创粉丝点击