0

所以我有一些名为“paper_0”、“paper_1”等的论文,我想以这种方式存储它们:

<h2 id="paper_0" onclick="doThing(this.id, 'myFunction')">Name of this thing</h2>

在我的 javascript 文件中:

//some code here
function doThing(id, func){
   currentId = id; //store current game
   func(); //this would create paper_0 **error**
   //some code here
}

function removePaper(){
   currentId.remove(); // **error**
}

所以我有这两个错误,因为idfunc都是字符串。

有什么建议可以存放纸质物品吗?或者我可以给论文ID吗?

4

1 回答 1

1

您传入的是函数名称,而不是实际函数。

试试这个:

function doThing(id, func){
   currentId = id; //store current game

   if(func == "myFunction") myFunction(currentId);

   //...
}

您可以将对象存储在全局变量中:

var papers = array();

function myFunction(id) {
    papers.push(id);
}

要从数组中删除元素,您可以这样做:如何在 JavaScript 中从数组中删除特定元素?

function removePaper(id){
    papers.splice(array.indexOf(id), 1);
}

您可以修改此狗对象以满足您的纸张需求:

var myDog = {

    "name" : "Spot",

    "bark" : function() { alert("Woof!"); },

    "displayFullName" : function() {
        alert(this.name + " The Alpha Dog");
    }
};

myDog.displayFullName(); 

myDog.bark(); // Woof!
于 2013-02-14T10:11:11.717 回答