2014-03-03 30 views
1

如果以后添加方法,是否可以为方法定义此参数? 所以我想将这个设置为一个特定的值。如果我添加一个方法后对象obj.prototype.methodName = ...我想这也是这个指定的值。这可能没有使用绑定添加方法?将方法添加到类中的javascript设置“this”

+1

使用'()调用'或'适用()'有关的更多信息? 'foo.methodName.call(xxx);' – epascarello

+0

是的,我想不要使用任何这些,但只是foo.methodName() –

+0

你想['bind()'](https://developer.mozilla。组织/ EN-US /文档/ JavaScript的/参考/ Global_Objects /功能/绑定)? – Bergi

回答

0

您可以使用'call()''apply()'功能

function add (a, b) { 
    return a + b; 
} 

// Outputs: 3 
console.log(add.call(this, 1, 2)); 

// Outputs: 3 
console.log(add.apply(this, [1, 2])); 

你可以找到它Invoking JavaScript Functions With 'call' and 'apply'

+1

这里有一篇关于[this]的更好的文章(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this)来自MDN,它很好地解释了“this”是在各种情况下,以及如何改变它。 – tkone