undefined - 恼人的JavaScript bug

问题描述 投票:-3回答:2

我有以下代码,无法理解为什么我在列出对象属性之前得到'undefined'。?我做错了什么吗?

正如您所知,我是JavaScript的新手,我们非常感谢任何帮助!

let player_profile;

const players = [
    {
        name: "George Ford",
        age: 22,
        position: "Back" 
    },
    {
        name: "Ben Youngs",
        age: 28,
        position: "Forward" 
    }
];

for (let i = 0; i < players.length; i++) {
  player_profile += '<h2>Name: ' + players[i].name + '</h2>';
  player_profile += '<p>Age: ' + players[i].age + '</p>';
}

document.write(player_profile);
javascript
2个回答
2
投票

let player_profile;声明变量并且(隐式地)给它一个undefined的初始值。

player_profile += some_string然后附加一个字符串。这会将undefined转换为字符串,其结果为"undefined"

如果您希望初始值为空字符串,请明确说明:

let player_profile = "";

2
投票

因为你没有初始化你的player_profile:

let player_profile = "";

const players = [
    {
        name: "George Ford",
        age: 22,
        position: "Back" 
    },
    {
        name: "Ben Youngs",
        age: 28,
        position: "Forward" 
    }
];

for (let i = 0; i < players.length; i++) {
  player_profile += '<h2>Name: ' + players[i].name + '</h2>';
  player_profile += '<p>Age: ' + players[i].age + '</p>';
}

document.write(player_profile);
© www.soinside.com 2019 - 2024. All rights reserved.