javascript - 为什么没有实现继承?
天蓬老师
天蓬老师 2017-04-11 13:01:54
[JavaScript讨论组]
var CheckObject = function(){};
CheckObject.checkName = function(){
    
}
CheckObject.checkEmail = function(){

}
CheckObject.checkPassword = function(){

}
var a = CheckObject();
console.log(window);
//控制台中结果
//checkObject:function(){}包含checkName,checkEmail和checkPassword方法。
//a:undefined

求问大神为什么没有实现继承?
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
天蓬老师

因为CheckObject没有指定return值,默认返回undefined

ringa_lee

var a = new CheckObject();

高洛峰

var CheckObject = {}; //想让下面的方法继承,父级是一个对象才行

CheckObject.checkName = function(){
}

CheckObject.checkEmail = function(){
}

CheckObject.checkPassword = function(){
}

return CheckObject

天蓬老师

可以这么写继承:

var CheckObject = function (name, age) {
    var _age = age;
    this.name = name;
};
CheckObject.prototype.checkName = function () {

}
CheckObject.prototype.checkEmail = function () {
    console.info("checkEmail");
}
CheckObject.prototype.checkPassword = function () {

}
var a = new CheckObject();
a.checkEmail()

这样的话所有的CheckObject实例都可以共享公共方法啦。

大家讲道理

a是checkObject这个函数返回的值,既然没有显式返回的话就是undefined的啦。此外你应该区分构造函数和调用普通函数的区别……

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

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