所以我有一些名为“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**
}
所以我有这两个错误,因为 id 和 func 都是字符串。
有任何建议我如何存储纸张对象? 或者我可以给论文提供身份证明吗?
答案 0 :(得分:1)
您传入的是函数名称,而不是实际函数。
请改为尝试:
function doThing(id, func){
currentId = id; //store current game
if(func == "myFunction") myFunction(currentId);
//...
}
您可以将对象存储在全局变量中:
var papers = array();
function myFunction(id) {
papers.push(id);
}
要从数组中删除元素,您可以执行以下操作:How do I remove a particular element from an array in 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!