我試圖將對象的「已觸摸」函數設置爲另一個函數。我始終聽到有關JavaScript和頭等功能的消息,但仍然沒有掌握它。以下是我的:Javascript將參數設置爲函數
customClose.touched = this._close.bind(this);
customClose有一個名爲「touched」的函數,默認爲空。我希望它被設置爲另一個函數this._close.bind,它接受一個參數。我該如何做這項工作?
我試圖將對象的「已觸摸」函數設置爲另一個函數。我始終聽到有關JavaScript和頭等功能的消息,但仍然沒有掌握它。以下是我的:Javascript將參數設置爲函數
customClose.touched = this._close.bind(this);
customClose有一個名爲「touched」的函數,默認爲空。我希望它被設置爲另一個函數this._close.bind,它接受一個參數。我該如何做這項工作?
這將這樣的伎倆:
customClose.touched = this._close.bind;
請注意,如果你調用customClose.touched(p)
時使用this
的this._close.bind
,裏面,this
將參考customClose
。
如果你想this
繼續參照this._close
,您可以使用bind
:
customClose.touched = this._close.bind.bind(this._close);
原來我原來的實施是正確的。問題是由於我做了另一個改變,關閉按鈕已經移動。由於它是隱形的,我沒有注意到。將功能綁定到對象的功能如下:
customClose.touched = this._close.bind;
我剛發現問題完全是其他問題。我的原始線路正常工作。我認爲我那種令人困惑的問題和解釋導致你的答案有些冗長,但我認爲如果實際上存在問題,你就走在了正確的軌道上。謝謝! –