我尝试从对象返回一个选择器,该对象在创建后初始化。为什么我的财产“未定义”?无法绕过这个......
http://jsfiddle.net/micka/fBPxG/
HTML:
<div class="current"></div>
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);
}
});
答案 0 :(得分:1)
Object.defineProperty(Slider, 'currentSelector', {
get: function () {
return $('.current', this.config.mySelector);
}
});
Object.defineProperty是在Slider.init({...})
之后定义的
当Slider.init被触发时,currentSelector属性尚未定义并返回undefined。
解决方案: 请向上移动Object.defineProperty