gpt4 book ai didi

javascript - 为什么|和 ||类似于 Javascript 中的分号?

转载 作者:行者123 更新时间:2023-12-01 15:34:26 25 4
gpt4 key购买 nike

我在 Chrome 上的控制台上测试了一些东西,然后我运行了这段代码:

alert() | window.confirm();
alert() || window.confirm();

我的问题是在一行中运行警报和确认方法而不使用分号。事实证明,两者 |和 ||工作,我无法想象它为什么工作,首先是因为 || 表示一个 OR 运算符,它应该运行其中一个而不是两者,其次是 | 我不知道那是什么。有人可以解释发生了什么,还有什么可以代替 ; ?

最佳答案

分号表示语句的结束。
如果您还没有意识到,表达式是可以计算为值的东西。例如,5 , 'foobar' , 和 myFn()都是表达式,因为它们评估为值。
语句可以由多个表达式组成。例如,const result = fn('foo')通过'foo'表达式到函数调用中,函数调用返回一个赋值给result的值.
在您的代码中,这两行都由两个表达式组成,但每一行恰好是一个语句。有了这条线:

alert() || window.confirm()
将首先评估 alert .由于 alert返回 undefined , ||运算符然后计算右侧的表达式,即 window.confirm() .
您可以使用 | 之类的运算符将多个表达式放在一起。 , || , 或 = .您还可以通过将每个表达式作为单独的语句来评估多个表达式,例如
alert();
window.confirm();
两者都会出现一个警告框和一个确认对话框。

关于javascript - 为什么|和 ||类似于 Javascript 中的分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63786634/

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