我以为我明白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 ... –