Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数中的表数据未追加_Javascript_Css_Html_Html Table - Fatal编程技术网

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中全局变量的使用有关。比如说,好的,很好。非常感谢。另一种选择是在所有函数周围使用立即调用的函数表达式。请参阅我的上一次编辑。