سؤال

top.on('click', function(){
    anim.run();
});

ولدي وظيفة أنيم، وأتساءل لماذا لا أستطيع أن أسميها مثل هذا

top.on('click', anim.run);
هل كانت مفيدة؟

المحلول

top.on('click', function () { anim.run(); });

أو

top.on('click', Y.bind(anim.run, anim));

نصائح أخرى

ولأن this لا anim في الحالة الثانية كما كنت استرجاع وظيفة run وليس استدعاء من anim.

وعلى سبيل المثال:

var a = {
  b: function () {
    return this.c;
  },
  c: 1
},
c = 2;

a.b() === 1;
var bMethod = a.b;
bMethod() === 2;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top