gpt4 book ai didi

javascript - 在不同行上声明和分配变量时返回最后分配的值

转载 作者:行者123 更新时间:2023-11-29 14:46:37 26 4
gpt4 key购买 nike

我在 JS 中遇到了一个奇怪的返回问题,这取决于我的变量是否在同一行中声明和赋值。也许有人可以解释为什么会这样。

当我运行这段代码时(变量在同一行中声明和赋值),它什么都不返回,这是有道理的,因为没有 return 语句。

var hero = "lame";
var badguy = "strong";

if (hero === "strong") {
if(badguy === "weak") {
console.log("Awesome you won!");
}
console.log("You did not win.");
}

然而,当我运行这段代码时(变量在不同的行上声明和赋值),它返回“strong”,这是最后一个被赋值的变量,即使没有返回语句。这是为什么?

var hero, badguy;

hero = "lame";
badguy = "strong";

if (hero === "strong") {
if(badguy === "weak") {
console.log("Awesome you won!");
}
console.log("You did not win.");
}

感谢您的帮助!

最佳答案

在 JavaScript(以及其他一些语言)中,当您进行赋值时,该赋值的值会自动返回。因此你可以看到它被控制台记录下来。奇怪,我在互联网上找不到对此的合适引用。这是我能找到的最好的:http://www.sitepoint.com/assignment-inside-a-condition/

关于javascript - 在不同行上声明和分配变量时返回最后分配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31955420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com