JS:从属性访问同一对象中的另一个属性

时间:2015-09-28 14:18:07

标签: javascript

我将使用一个例子解释我的问题:

我有一个名为'ExampleObj'的对象,它返回3个属性'init','age','weight',我需要从年龄到重量访问,但由于某种原因我不能这样做。你能解释一下为什么以及如何才能达到正确的结果?

编辑:这是当前的代码,self.tabAnimation()正在准备dom但是...不工作“click”,即使我使用();检查代码中的****,是触发我错误的行。

 return {

init: function() {
  var self = this;
  tabs.init();
  self.tabAnimation();

  tabToggler.on('click', self.tabAnimation );

}, 

tabAnimation: function() {
  var self = this;

  var activeTabBars = function() {
    console.log('lol');
    tabItem.find(bars).each(function() {
      var me = this;
      ****self.animateBars(me,1000)****
    });
  }

  animateOnVisible.init(tabItem, activeTabBars);

},

animateBars : function(el, duration) {
  var percentage = $(el).data('value') + "%";
  $(el).animate({
    'width': percentage
  }, duration);
}

}

}

非常感谢

的Davide

1 个答案:

答案 0 :(得分:2)

您必须使用this

age: function() {
  console.log('some random log');
  var me = this;
  me.weight;
  me.weight(something);
},

您不必将this分配给另一个变量,但如果您这样做,则不会造成任何伤害。

请注意,在“init”功能中,

  self.age;

本身无能为力。要调用该函数,您必须编写它

  self.age();