这段代码:

var doc = {
  foldPrompt: function(folded) {
    return folded ? "Click to unfold" : "Click to fold"
  },
  createFoldButtons: function() {
    var prompt = foldPrompt(true); //The error is here
    $("#ComparisonTable td.secrow").each(function(index, td){
      $(td).prepend($('<img src="minus.gif" class="foldbtn" alt="'+prompt+'" title="'+prompt+'">'));
    });
  }
}


给我一个错误:Undefined variable: foldPrompt

我究竟做错了什么?

最佳答案

foldPrompt不是变量;它是doc的属性,您需要一个对象引用来访问该对象的属性。

如果有人调用doc.createFoldButtons(),则this上下文变量将指向与doc变量相同的对象。因此,将foldPrompt(true)替换为this.foldPrompt(true)

关于javascript - JavaScript对象声明中出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15578509/

10-09 23:55