2 回答
TA贡献1830条经验 获得超9个赞
这当然是可能的:
var myObj = {
someFunc: () => "foo"
}
myObj.someFunc.bar = "baz";
console.log(myObj.someFunc());
console.log(myObj.someFunc.bar);
函数就像 JavaScript 中的几乎所有其他东西一样是对象。这意味着您可以向它们添加属性。
TA贡献1818条经验 获得超7个赞
知道了。
class API {
constructor(baseUrl) {
this.baseUrl = baseUrl;
this.api = {
location: (locationId) => ({
users: (() => {
var a = (userId) => ({
get: () => `${this.baseUrl}/api/location/${locationId}/users/${userId}`
})
a.get = () => `${this.baseUrl}/api/location/${locationId}/users`;
return a
})()
})
}
}
}
var myApi = new API('baseUrl');
myApi.api.location('locationId').users.get()
// "baseUrl/api/location/locationId/users"
myApi.api.location('locationId').users('userId').get()
// "baseUrl/api/location/locationId/users/userId"
添加回答
举报