var sampleFunction = function() {
var self = this;
console.log(self.somevalue);
console.log(?); //output : 2
};
sampleFunction().bind(this,2);
如何在该示例函数中访问此值。
答案 0 :(得分:2)
var boundFunction = sampleFunction.bind(this);
boundFunction(2)
通常最容易使用function.call这样的答案
sampleFunction.call(this, 2);
答案 1 :(得分:1)
如果您要做的是创建一个始终调用sampleFunction
并将参数传递给2的新函数,那么您可以这样做:
// define sampleFunction with one argument
var sampleFunction = function(data) {
console.log(data);
}
// create a new function that always calls sampleFunction
// with a value for this and a particular argument
var newFunc = sampleFunction.bind(this, 2);
// call that new function
newFunc(); // will put 2 in the console
我还建议您阅读MDN doc page on .bind(),以便更好地了解它的作用以及如何使用它。
由于您没有为您真正想要做的事情提供任何背景信息,您也可以使用以下任何一种方法获得与上述相同的结果:
sampleFunction(2);
sampleFunction.call(this, 2);
如果这不是你想要做的事情,那么回过头来,描述一下你实际想要完成的事情