事件处理程序不加载我的 JavaScript 函数

Event handler do not load my JavaScript function

我正在尝试在具有 id 的元素中插入文本。但是它没有出现。为什么加载不出来?

function changeBio() {
  var objects = {
    name: 'Tobias',
    address: {
      country: 'Sweden',
      county: 'Stockholms Län',
      city: 'Stockholm',
    },
    age: 20,
    weight: 80.0,
  };

  var name = objects.name;
  var country = objects.address.country;

  document.getElementById('biography').innerHTML = 'My name is ' + name + ', I live in ' + country;
}
<p id="biography"></p>

<script>
  window.onload = function() {
    changeBio();
  };
</script>

JSFiddle:https://jsfiddle.net/cq00/050g68ck/2/

在此处使用 Run code snippet 时,它按预期工作。在 JSFiddle 中,它不起作用,因为您的 JavaScript 选项卡 配置为 运行 onload 并且您的 onload 处理程序放在 HTML tab 运行s 在它之前,所以 changeBio 当时没有定义。我建议您将 onload 处理程序也放在 JavaScript 选项卡 中,以将所有脚本放在一起,然后将其配置为包装在 headbody。在此处更改了 JSFidle:https://jsfiddle.net/050g68ck/9/

只是改变 负载类型 到 jsfiddle 中的 body 没有换行 并将下面的代码放入 html

             <p id="biography">f</p>

下面里面 javascript

     function changeBio() {
          var objects = {
               name: 'Tobias',
               address: {
               country: 'Sweden',
               county: 'Stockholms Län',
               city: 'Stockholm',
               },
             age: 20,
             weight: 80.0,
           };

    var name = objects.name;
    var country = objects.address.country;

    document.getElementById('biography').innerHTML = 'My name is ' + name +   ', I live in ' + country;
     }
          window.onload = function() {
             changeBio(); 
            };

和运行它,你会很高兴去

它正在抛出错误“VM743:74 未捕获的 ReferenceError:未定义 changeBio”。 bcoz "changeBio()" 首先被调用,然后加载该函数。 你不需要显式调用

<script>
  window.onload = function() {
    changeBio();
  };
</script>

这可能会有所帮助。

changeBio();
function changeBio() {
  var objects = {
    name: 'Tobias',
    address: {
      country: 'Sweden',
      county: 'Stockholms Län',
      city: 'Stockholm',
    },
    age: 20,
    weight: 80.0,
  };

  var name = objects.name;
  var country = objects.address.country;

  document.getElementById('biography').innerHTML = 'My name is ' + name + ', I live in ' + country;
}

或更改加载时间 javascript 使用齿轮图标 功能与 "in body" 或 "in head" 相同。 看例子: https://jsfiddle.net/nk1506/zzsaf40k/