我以爲我明白JavaScript範圍如何工作到現在。這是我JavaScript範圍問題
function MFCommentsHandler(node, type, item) {
this.get = function(returnType){
...
}
function getButton(){
var button = document.createElement('button'),
get = this.get;
button.innerHTML = 'Load more comments';
button.onclick = function(){
console.log(get);
get('html');
}
return button;
}
}
我使用內部函數通過getButton
生成的文檔元素追加,但是當我點擊它,我得到get is not a function
。爲什麼get
在onclick
函數裏面沒有定義?
您是否正在全球化? –
,因爲'this'是你調用'MFCommentsHandler'的任何上下文。除非你使用'new'構造一個新對象。 –
在你的情況下,我只是使用var get = function ... –