var URIController = {
get href() {
return url.location.href;
}
}
我有上面的对象结构。但是 URIController.href
属性依赖于另一个对象,url
。
如果 url
是全局定义的,则 URIController.href
有效。但是我想手动将 url
对象传递给 href
getter。
var URIController = {
get href(url) {
return url.location.href;
}
}
更改了 getter 以接受 url 参数但是
URIController.href(url)
抛出错误,因为 href 不是一个函数。
是否可以在 javascript 中将参数传递给 getter?
最佳答案
Getter 不需要显式调用括号,因此不能接受参数。它们的调用是通过标准属性访问语法隐式调用的,例如URIController.href
.
来自 getter documentation on MDN :
The get syntax binds an object property to a function...
- It must have exactly zero parameters
______
如果您需要接受参数,请改用函数:
var URIController = {
href: function (url) {
return url.location.href;
}
}
或者使用 ES6 对象函数简写语法:
const URIController = {
href (url) {
return url.location.href;
}
}
关于javascript - 将参数传递给 JavaScript 对象 Getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366181/