WEB开发网
开发学院网页设计JavaScript javascript 学习笔记3-构造函数、类和原型 阅读

javascript 学习笔记3-构造函数、类和原型

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 因此,属性继承只在读取属性值时发生,javascript 学习笔记3-构造函数、类和原型(4),而在写入属性值时不发生,因此,但java的对象就不是这样,java中的每一个对象都有组预定义的属性,如果我们设置了o的p的值,而当这个p是从原型那里继承来的时

因此,属性继承只在读取属性值时发生,而在写入属性值时不发生。因此,如果我们设置了o的p的值,而当这个p是从原型那里继承来的时,其实o会直接在自身创建出一个p属性。这样,当读取p属性值时,就不需要到原型中去找,只需要读取出自身的p属性的值就好了。这就好像o的属性p“遮盖”或“隐藏”了原型对象中的属性p。例子如下:

Js代码   

function Circle(x,y,r){ 
 this.x = x; 
 this.y = y; 
 this.r = r; 
} 
Circle.prototype={ 
 pi :3.1415926, 
 area:funciton(){ 
 return this.pi*this.r*this.r 
 } 
} 
var c1 = new Circle(1,1,1); 
var c2 = new Circle(2,2,2); 
// 
c1.area();//area并不在c1中,从原型中去找,就好像这是c1自身的属性一样。这种写法我们在程序中很常用。 
c1.pi = 4;//设置pi的值,pi在原型中,并不在c1自身的属性中,它把作为c1的一个自身的新属性来创建。改变原型的属性值,这种情况比较少,我们一般去读取它。 
var a= c1.pi*c1.r*c1.r//这时候,pi和r都在c1自身内有。 
var a= c2.pi*c2.r*c2.r//这时候,pi在c2的原型里去读,r都在c2自身读取。 
因为原形属性是一个类的所有对象共享的属性,所以原型成为定义方法的理想场所。

3.4 Js中模拟类:

我们知道,对象是包含各种具有名字的数据片断的数据结构,也可以包含对这些数据片断进行操作的方法。对象把相关的值和方法组织到一起,这样增强了代码了模块性和可复用性,使得编程更加容易。

Js中的对象可以有任意多的属性,且属性可以动态地添加,但java的对象就不是这样,java中的每一个对象都有组预定义的属性,这些属性并不能动态地添加的。

编缉推荐阅读以下文章

  • javascript 学习笔记2-函数
  • javascript 学习笔记1-对象和数组

上一页  1 2 3 4 5  下一页

Tags:javascript 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接