首页 > 开发 > JS > 正文

javascript object oriented 面向对象编程初步

2024-09-06 12:43:51
字体:
来源:转载
供稿:网友
用 new Object() 来创建对象
在javascript里有几种创建对象的方法,在不同的场合可用不同的方法.最简单的就是用 new 操作符,例如:
代码如下:<script language="javascript" type="text/javascript"> 
<!-- 

person = new Object() 
person.name = "Tim Scarfe" 
person.height = "6Ft" 

person.run = function() { 
this.state = "running" 
this.speed = "4ms^-1" 


//--> 
</script> 

我们在这个例子里定义了person这个对象,然后加入了它的属性和方法.在这个例子里,自定义的方法里有两个属性.

用文字记号Literal Notation创建对象
用文字记号也可以创建对象,但要javascript 1.2以上版本.它的创建形式是多样的.
代码如下:<script language="javascript" type="text/javascript"> 
<!-- 

// Object Literals 

timObject = { 
property1 : "Hello", 
property2 : "MmmMMm", 
property3 : ["mmm", 2, 3, 6, "kkk"], 
method1 : function(){alert("Method had been called" + this.property1)} 
}; 

timObject.method1(); 
alert(timObject.property3[2]) // will yield 3 

var circle = { x : 0, y : 0, radius: 2 } // another example 

// nesting is no problem. 
var rectangle = {  
upperLeft : { x : 2, y : 2 }, 
lowerRight : { x : 4, y : 4} 


alert(rectangle.upperLeft.x) // will yield 2 

//--> 
</script> 

文字记号可是是数组,也可以是任意的javascript表达式或值.

用 new 操作符或文字记号创建一个自定义对象都是简单的,也是符合逻辑的.但它最大的缺点就是结果不可复用.也不能很容易的用不同的版本初始化创建对象.例如上面 的第一个例子,如果 person 的 name 不是 "Tim Scarfe",那样我们不得不重新定义整个对象,仅仅为了适应它的一点点改变.

对象的构造和原型

    在OOP的世界里,用先前的方法定义对象在许多场合都有限制.我们需要一种创建对象的方法,类型可以被多次使用而不用重新定义.对象在实例化时每次都可以按需分配不同的值.实现这个目标的标准方法是用对象构造器函数.

   一个对象构造器只不过是个有规则的javascript函数,它就象一个容器(定义参数,调用其他函数等等).它们两者所不同的是构造器函数是由 new 操作符调用的.(你将在下面的例子中看到).基于函数语法形式的对象定义,我们可以使它工作得最好.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表