Javascript 函数中的表数据未追加
每当我以迭代方式编写代码时,程序都会按预期运行,但当我放入这样的函数时,它就会中断Javascript 函数中的表数据未追加,javascript,css,html,html-table,Javascript,Css,Html,Html Table,每当我以迭代方式编写代码时,程序都会按预期运行,但当我放入这样的函数时,它就会中断 function create_tableElements() { Let myArticle = document.createElement(‘tr’); Let rank = document.createElement(‘td’); } function assign_tableElements() { Let count = 1 rank1 = cou
function create_tableElements() {
Let myArticle = document.createElement(‘tr’);
Let rank = document.createElement(‘td’);
}
function assign_tableElements() {
Let count = 1
rank1 = count;
rank.textContent = rank1;
heroes_name.textContent = heroes[i].name;
}
function append_tableElements() {
myArticle.appendChild(rank);
myArticle.appendChild(heroes_name);
}
有人知道为什么会这样吗?我有没有办法在函数中调用函数?我使用for循环来循环JSON。现在,如果我不把它放在函数中,只编写代码,它就会运行得非常好。只是提高可读性,更好地组织我的代码您粘贴的代码存在两个问题:Let而不是Let或奇特的单引号 我假设你的手机或任何你用过的工具都能纠正它。假设这是您的代码:
function create_tableElements() {
let myArticle = document.createElement('tr');
let rank = document.createElement('td');
}
function assign_tableElements() {
let count = 1;
rank1 = count;
rank.textContent = rank1;
heroes_name.textContent = heroes[i].name;
}
function append_tableElements() {
myArticle.appendChild(rank);
myArticle.appendChild(heroes_name);
}
您的代码无法工作,因为:
rank变量是create\u tableElements函数的局部变量,不能由append\u tableElements函数访问
heroes_name函数也是如此,它是assign_tableElements函数的本地函数
您可以通过以下方式解决此问题:
将这些变量声明为全局变量,在任何函数之外。不过,这并不是一个真正的最佳实践。
更改函数的定义,以便它们可以访问相同的局部变量:您真的需要一个函数来创建元素,另一个函数将它们附加到DOM中吗?
还可以使用立即调用的函数表达式。
作用{
//这些变量对此函数中定义的所有函数都可见,但不是全局变量:
让排名,我的文章,英雄的名字;
函数create_tableElements{
myArticle=document.createElement'tr';
rank=document.createElement'td';
}
函数赋值_tableElements{
让计数=1;
rank1=计数;
rank.textContent=rank1;
heroes_name.textContent=英雄[i].name;
}
函数append_tableElements{
myArticle.appendChildrank;
myArticle.appendChildren\u名称;
}
//调用您的函数:
创建表格元素;
分配元素;
附加元素;
};你能使用内置的代码片段工具吗?而不是引用…对不起,我在这个网站上的第一篇文章之一。我正试着用我的手机。我重新编辑了。Toy需要读取这个可能的@LiverpoolOwen副本,因此我必须将函数作为闭包来编写,我不能只编写单独的函数,然后将它们包含在函数中?我喜欢这个答案,是的,我的手机已经更正了它。所以这是我的下一个问题,我认为如果我为所有做不同事情的东西创建一个函数,并相应地命名它,我的代码会更容易理解。我也看到了它可能是本地的,所以你在这方面也是对的。因此,如果在函数之外声明不是最佳实践,而是可行的话。这样做不好吗?有几个问题与JavaScript中全局变量的使用有关。比如说,好的,很好。非常感谢。另一种选择是在所有函数周围使用立即调用的函数表达式。请参阅我的上一次编辑。