Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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/sqlite/3.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_Function - Fatal编程技术网

Javascript 理解函数中的内容

Javascript 理解函数中的内容,javascript,function,Javascript,Function,因此,我正在尝试学习适当的香草javascript,而不是依赖框架和库来为我做这些工作。问题是:我试图理解函数在何时、何地以及如何进入 例如。 我创建了一些链接和一个函数,该函数内部有一个循环,用于计算链接数,并应返回链接数及其名称。但我一直得到的是(a)标签的数量 在我尝试使用innerHTML和(a)标记时,可以解释一下我是如何获得链接名的吗。从我的理解和DOM列表来看,我应该能够深入挖掘元素以获得我需要的东西。我想我只是编错了 var links=document.getElements

因此,我正在尝试学习适当的香草javascript,而不是依赖框架和库来为我做这些工作。问题是:我试图理解函数在何时、何地以及如何进入

例如。 我创建了一些链接和一个函数,该函数内部有一个循环,用于计算链接数,并应返回链接数及其名称。但我一直得到的是(a)标签的数量

在我尝试使用innerHTML和(a)标记时,可以解释一下我是如何获得链接名的吗。从我的理解和DOM列表来看,我应该能够深入挖掘元素以获得我需要的东西。我想我只是编错了

var links=document.getElementsByTagName('a');
函数循环链接(链接){
for(i=links;i

前面的海报是正确的,您的代码存在一些基本的结构问题。我重写了它来做我理解你想做的事情,并用注释解释每一步发生的事情

我认为您可能误解的一个基本问题是定义函数和调用函数之间的区别。我试图在评论中证明这一点

在JavaScript中还有许多其他方法可以实现这一点,但这种方法是一种简单的EcmaScript 5风格的解决方案:

// this command gets an array of links from the DOM
var links = document.getElementsByTagName('a');

// to get the NUMBER of links, just log the length of the array
console.log('Number of links:', links.length);

// here you DEFINE a function that loops over the links.
function loopLinks(links) {     
    // You want to loop over the indicies in the "links" array
    for (let i = 0; i < links.length; i++){
        // get a reference to the link
        let a = links[i];
        // log out the name of each link
        console.log(a.innerHTML);
    }
}

// here, you actually INVOKE(call) the function that loops over the links.
// INVOKING the function makes it run, and outputs your link names. 
loopLinks(links);
//此命令从DOM获取链接数组
var links=document.getElementsByTagName('a');
//要获取链接数,只需记录数组的长度
log('链接数:',links.length);
//这里定义了一个在链接上循环的函数。
函数loopLinks(links){
//您希望在“链接”数组中的标记上循环
for(设i=0;i

祝你在编程方面好运。不要放弃。

为什么我要在循环开始时成为链接?这毫无意义。我应该是0,就像链接数组的第一个索引一样。您的函数有一个不做任何事情的
for
循环,然后返回未定义对象(
a
)的
innerHTML
属性。您也从不调用函数,因此它从一开始就不会执行。老实说,你能做的最好的事情可能是从一些入门教程开始。目前你只是在输入一些看起来像代码的东西,但是你对这些东西的结构没有任何感觉。教程是专门教基础知识的。谢谢,马特,这正是我想做的。在jquery中,事情变得容易多了,但公司不想再这样了。我想我把自己弄糊涂了。