0

//在udemy上学习javascript //这是我的代码(以及讲师的代码,但我的确切复制:

const magicSquare = [ [ 2, 7, 6 ], [ 9, 5, 1 ], [ 4, 3, 8 ] ];

for (let i = 0; i < magicSquare.length; i++) {
    let row = magicSquare[i];
    let sum = 0;
    for (let j = 0; j < row.length; j++) {
        sum += row[j];
    }
    console.log(`${row} summed to ${sum}`);
}

//所以在我写完最后一行之前:console.log( ${row} summed to ${sum}); 我会在我的控制台中输入“sum”或“row”,以检查它是否正常工作,作为回报,控制台之神会返回给我:

Uncaught ReferenceError: sum is not defined

//所以每次我得到未定义时,我都认为我一定是做错了什么,所以我不断回头查看讲师的代码,然后查看我的代码,我非常沮丧,因为我知道我们有完全相同的东西,所以我终于决定完成整个事情,看看它是否运行。果然,只要我放了模板文字的最后一行;在底部它起作用了!但是,如果我在控制台中输入 :rowsum(当然不带引号),它仍然返回 undefined!某些东西如何工作并且未定义?这是一个伟大的煤气灯操作..

//是不是因为这些变量位于循环内?如果我在循环之外定义它们,它们就会出现在我的控制台中。

//stackoverflow 也告诉我 CTRL + K 我的格式化代码,不确定我这样做是否正确,新用户,第一个问题,没有编程经验。谢谢!

4

0 回答 0