我正在浏览一个JavaScript模式,链接。
这里我有这样的代码
function thisFunc(fullName){
var that = this;
this.firstName = function(name){
fullName = fullName + name;
return this;
};
this.lastName = function(name){
fullName = fullName + ' ' + name;
return that;
};
this.show = function(callback){
callback(fullName);
return that;
};
}
var x = new thisFunc('');
x.firstName('Karthikeyan').lastName('Sundararajan').show(function(result){
console.log(result);
});
var y = new thisFunc('');
console.log(y.firstName('Karthik'));
在最后一行,打印函数firstName的返回值,得到这样的输出。
thisFunc {firstName:[Function],lastName:[Function],显示: [功能]}
为什么它返回thisFunc,它是firstName的父,我希望它会返回firstName。我说,当我回复这个'并且'返回那个'。
答案 0 :(得分:2)
因为firstName()
的返回是实际的父函数。如果您希望它返回firstName
功能,则不要调用它,只需执行
console.log(y.firstName);
我希望我能正确理解你的问题。