在JavaScript中,原型prototype的实际意义?
在《JavaScript语言精粹》中30面。关于Apply调用模式。有以下代码:
var Quo = function(string){ this.status = string; };//标记1Quo.prototype.get_status = function(){ return this.status; };var myQuo = new Quo("confused");var statusObject = { status:'A-OK'; };//这里的结果status = 'A-OK'//原文注释:statusObject并没有继承自Quo.prototype, 但我们可以在statusObject上调用get_status方法,//尽管statusObject并没有一个名为get_status的方法。 //标注2var status = Quo.prototype.get_status.apply(statusObject);
这里个人理解原型就是属于对象的,类似于java中static属性。代码中的Quo.prototype.get_status就相当于标记1中的方法体。只不过它属于原型链的,所有在链节点后的对象都可以调用。
标注2:实际上就等于
var status = 标注2后的方法(this);
this = statusObject;
也就是调用了status.status;
这里的get_status跟statusObject有半毛钱关系吗?
只是将这个对象传递给了Quo的get_status方法的this参数。
以上,个人就不是很明白文中的注释到底是什么意思?写了一堆,这里根本就不是statusObject调用的方法。
求JS大神解释,谢谢!
开心每一天1111
相关分类