【发布时间】:2019-01-05 23:02:14
【问题描述】:
在下面的代码中,变量text在findTextToDelete函数中是不可访问的(它会产生错误)
array = ['a', 'b', 'removeThis', 'c'];
removeText("removeThis");
function removeText(text) {
array.splice(array.findIndex(findTextToDelete),1);
}
function findTextToDelete(element) {
return element === text;
}
我可以通过创建一个全局变量“globalText”来解决这个问题:
var globalText = "";
array = ['a', 'b', 'removeThis', 'c'];
removeText("removeThis");
function removeText(text) {
globalText = text;
array.splice(array.findIndex(findTextToDelete),1);
}
function findTextToDelete(element) {
return element === globalText;
}
console.log(array)
但是我试图理解为什么第一种方法不起作用。
似乎必须有更好的方法来做到这一点。有没有办法将“文本”传递给回调函数?
任何帮助将不胜感激。
【问题讨论】:
标签: javascript