gpt4 book ai didi

javascript - 无法通过原型(prototype)函数传递它

转载 作者:行者123 更新时间:2023-12-03 08:11:12 24 4
gpt4 key购买 nike

我有以下模块和子模块:

// Parent module "API"
var API = function(){
console.log('loading API');
this.param = 12345;
}

// A method for instantiating the City module via the API
API.prototype.City = function(){
return City(this); // <--- Can't pass this here?
}

// Submodule "City"
var City = function(api){
console.log("loading City");
console.log(api); // <--- Just prints empty object {}
}

var api = new API();
console.log(api);
var denver = new api.City();

我希望能够在实例化时通过传递 this 来将 api 对象传递到 City 对象中。但它只是传递一个空对象。

最终输出:

loading API
{ config: 12345 }
loading City
{}

实例化时是否无法将父模块传递给子模块?

最佳答案

我想你想要

API.prototype.City = function(){
return new City(this);
// ^^^
}


var denver = api.City();
// ^^^^^^^ standard *method* call

关于javascript - 无法通过原型(prototype)函数传递它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34138173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com