سؤال
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;
لا تنتمي إلى StackOverflow