gpt4 book ai didi

javascript - 为什么 JavaScript 语句 "ga = ga || []"有效?

转载 作者:数据小太阳 更新时间:2023-10-29 04:37:46 26 4
gpt4 key购买 nike

如果未声明 ga,以下 javascript 语句将导致错误。

if (ga)
{
alert(ga);
}

错误是:

ga is not defined

看起来未声明的变量无法在 bool 表达式中识别。那么,为什么下面的语句有效?

var ga = ga || [];

对我来说,ga 被视为“||”之前的 bool 值。如果为false,"||"后的表达式分配给最终ga。

最佳答案

null 或 defined 是 javascript 中的假值(隐式计算为假。) ||运算符返回第一个不计算为 false 的值。

var x = 0 || "" || null || "hello" || false; // x equals "hello"

另一方面,&& 运算符将返回第一个错误值或最后一个值。

var y = "a string" && {"attr":"an object"} && false && ["array"]; 
// y equals false

var z = "a string" && {"attr":"an object"} && ["array"];
// z equals ["array"]

关于javascript - 为什么 JavaScript 语句 "ga = ga || []"有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680121/

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