[英]Getter function from defineProperty doesn't return selector
I try to return a selector trough a getter function from an object, which is initialized after its creation. 我尝试通过对象的getter函数返回一个选择器,该选择器在创建后被初始化。 Why is my property "undefined"?
为什么我的财产“未定义”? Can't wrap my head around this...
不能把我的头缠住...
http://jsfiddle.net/micka/fBPxG/ http://jsfiddle.net/micka/fBPxG/
HTML: HTML:
<div class="current"></div>
JS: JS:
var Slider = {
init: function (config) {
this.config = config;
console.log('this should be the div with a class of current', this.currentSelector)
}
};
Slider.init({
mySelector: $('div')
});
Object.defineProperty(Slider, 'currentSelector', {
get: function () {
return $('.current', this.config.mySelector);
}
});
Object.defineProperty(Slider, 'currentSelector', {
get: function () {
return $('.current', this.config.mySelector);
}
}); });
Object.defineProperty is defined after Slider.init({...})
When Slider.init triggered, the currentSelector attribute hasn't been defined and return undefined. 在
Slider.init({...})
之后定义Slider.init({...})
在触发Slider.init时,尚未定义currentSelector属性并返回未定义。
Solution: Please move up Object.defineProperty 解决方案:请上移Object.defineProperty
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.