JavaScript对象声明有问题

Something is wrong in JavaScript object declaration

本文关键字:有问题 声明 对象 JavaScript      更新时间:2023-09-26

代码:

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)