当前位置:编程学习 > JS >>

请教高手一个JAVASCRIPT中原型的问题,请通俗解释如下原型PROTOTYPE:

Function Rectangle(w,h){//定义一个矩形的函数 this.width = w; this.height = h; } Rectangle.prototype.area = function(){ return this.width * this.height; } 该段JS程序中PROTOTYPE是不是引用构造函数中的属性WIDTHT和HEIGHT?包不包括值W,H 。
答案:包含W、H值的,prototype是给对象插入新的属性或方法,用下面这段程序来给你讲解下:
<script>
function employee(name,job,born)
{
	this.name=name;
	this.job=job;
	this.born=born;
}
// 此时类的定义已经结束
employee.prototype.hellow = function() //重新给类插入一个原型hellow方法,此时employee类相当于在this.born=born;语句下面多了个this.hellow=function(){//...}
{
	alert(this.name+this.job+this.born);
};

var bill=new employee("Bill Gates","Engineer",1985);
bill.hellow();//这个语句是有效的

bill.hellow2();//这个语句会失败,因为此时employee类还没有hellow2方法,生成的实例bill也没有此方法
employee.prototype.hellow2 = function()//我们再给employee类添加hellow2的原型方法,道理同上
{
	alert(this.name);
}

var bill2 = new employee("Bill Gates","Engineer",1985);
bill2.hellow2();//这个语句会成功,因为bill2已经具有了hellow2方法(先注释掉上面失败的语句,因为失败会导致大多数js引擎停止执行本作用域下的其他语句)

</script>

上一个:用javascript 求百元买百鸡的问题!?
下一个:今天了解了下JavaScript的location对象,它的某些方法或属性可以把网页按照制定URL重新加载,但是有个问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,