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

私はアニメーション関数を持っていますが、なぜこのように呼び出せないのか疑問に思っていました

top.on('click', anim.run);
4

2 に答える 2

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

また

top.on('click', Y.bind(anim.run, anim));
于 2009-12-01T22:16:51.040 に答える
3

関数を取得していて、から呼び出していないため、2 番目のケースでthisはないためです。animrunanim

例えば:

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

a.b() === 1;
var bMethod = a.b;
bMethod() === 2;
于 2009-12-01T04:45:16.110 に答える