2014-03-03 26 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