登录  /  注册
JavaScript语言精粹-函数-Apply调用模式
高洛峰
高洛峰 2016-10-25 09:19:13
[JavaScript讨论组]

在JavaScript中,原型prototype的实际意义?

在《JavaScript语言精粹》中30面。关于Apply调用模式。有以下代码:

var Quo = function(string){
    this.status = string;
};
//标记1
Quo.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的方法。
//标注2
var 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大神解释,谢谢!


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号