【发布时间】:2015-07-22 22:17:55
【问题描述】:
这个问题与我的previous question有关,所以我将在此处添加与示例几乎相同的代码。
Ease.bezier = function(mX1, mY1, mX2, mY2) {
return _bezier.processBezier(mX1, mY1, mX2, mY2);
};
var _bezier = Ease.bezier.prototype;
_bezier.processBezier = function (mX1, mY1, mX2, mY2) {
return _bezier.render; // this is where I need the `this`, mX1, mY1, mX2, mY2 to be passed into the next function
};
_bezier.render = function(aX){ //the aX value here comes from another object
var mX1 = [bound function attributes[1]]; // I think you can understand what I mean here
if (mX1 === mY1 && mX2 === mY2) return aX;
if (aX === 0) return 0;
if (aX === 1) return 1;
return _bezier.computeBezier(_bezier.gx(aX), mY1, mY2);
};
现在我需要知道是否可以以某种方式绑定这两个函数,而不会影响来自另一个对象的 aX 值并可以访问第二个函数中的 this 和 mX1, mY1, mX2, mY2 参数。
有可能吗?我该怎么做?
【问题讨论】:
-
processBezier应该返回什么? -
render函数的结果,贝塞尔曲线图中的数字,带有进度和时间轴。 -
“并且可以访问
this”是什么意思?这不是正是您之前的问题中回答的吗? -
这里没有足够的信息。
.gx()方法是什么?computeBezier()方法是什么样的? 使用这个类的一些示例代码是什么?但是有一个提示:您使用_bezierinside 方法的地方可能都应该是this,因为您想引用对象的当前实例,而不仅仅是上面的裸函数原型。 -
@Bergi 我意识到在问上一个问题之前我应该知道
bind,这实际上是我需要的,下面回答的人给出了很好的答案。谢谢
标签: javascript arguments bind