【问题标题】:Passing function to innerHTML method将函数传递给 innerHTML 方法
【发布时间】:2017-07-29 00:51:11
【问题描述】:

大家好,JS 新手,我在这个简单的事情上工作了很长时间,试图理解 JS 基础知识。请帮帮我;

我有一个空的 H1 元素,我想使用 JavaScript 填充内容。

我希望 H1 标头包含数组中的名称并显示“Hello”消息。

我想要的是这样的:

innerHTML = greet(names[0]) 用于 H1 标头。我错过了一些微不足道的东西来理解这是如何工作的,任何帮助将不胜感激。

names = ["Jan", "Klaas", "Piet"];
name = namen;



function greet(name){

console.log("Hallo " + name.toLowerCase());
}

document.querySelector('h1').innerHTML = greet(names[0]);

document.querySelector('h1').innerHTML = greet(names[0]);在 H1 元素中返回为“未定义”

【问题讨论】:

  • console.log() 打印 value 。它不返回任何值;
  • 你应该改用return
  • 什么是名字?还在函数 greet 中返回一些值,例如 return name.toLowerCase();

标签: javascript html function output innerhtml


【解决方案1】:

到目前为止,您没有从您的方法返回任何内容,因此得到undefined, 您需要从方法中获得return 值。

function greet(name){
  return "Hallo " + name.toLowerCase();
}

【讨论】:

    【解决方案2】:

    函数应该返回字符串。

    function greet(name){
       return "Hallo " + name.toLowerCase();
    }
    

    【讨论】:

      【解决方案3】:

      这里有一些事情需要解决。您似乎没有使用 namen 变量,因此请删除第二行。

      你也可以在赋值时声明变量名。

      greet 函数需要返回一个值而不是记录到控制台。

      var names = ["Jan", "Klaas", "Piet"];
      
      function greet(name){
      return "Hallo " + name.toLowerCase();
      }
      
      document.querySelector('h1').innerHTML = greet(names[0]);
      

      见密码笔here

      【讨论】:

        【解决方案4】:

        你需要返回字符串,像这样:

        names = ["Jan", "Klaas", "Piet"];
        
        function greet(name){
            return ("Hallo " + name.toLowerCase());
        }
        
        document.querySelector('h1').innerHTML = greet(names[0]);
        

        console.log() 在开发者工具的浏览器控制台中记录字符串(按 F12 显示)。您需要 return 将其分配给 innerHTML 的值,就像我在上面显示的那样。

        您也不需要分配name = namen,因为name 只是您传递给函数greet() 的值names[0] 的别名。如果您这样做是为了在其他地方使用,那么您最好使用与name 不同的变量名,否则这会在以后引起混淆和潜在的冲突。

        【讨论】:

          【解决方案5】:

          您不需要"name=namen"

          你必须从函数中返回一些值。

          【讨论】:

            猜你喜欢
            • 2014-09-10
            • 1970-01-01
            • 2016-12-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多