gpt4 book ai didi

javascript - JavaScript中变量前的感叹号是什么意思

转载 作者:行者123 更新时间:2023-12-02 22:16:57 27 4
gpt4 key购买 nike

我试图通过浏览应用程序中的一些代码来学习 JavaScript,但我总是在 if 条件中看到 !variable 。例如:

if (!variable.onsubmit || (variable.onsubmit() != false)) {

这是什么?某种测试变量是否为空?

最佳答案

!logical not operator在 JavaScript 中。

正式

!表达式 读作:

  • 获取表达式并对其求值。在您的情况下,这是 variable.onsubmit
  • 对该评估结果进行大小写并将其转换为 bool 值。在您的情况下,由于 onsubmit 可能是一个函数,这意味着 - 如果函数为 null 或未定义 - 返回 false,否则返回 true。
  • 如果该评估为 true,则返回 false。否则返回 true。

就你的情况

在您的情况下 !variable.onsubmit 意味着如果没有定义函数(因此是假的),则返回 true,否则返回 false(因为定义了函数)。

简单地说 - !variable 表示取 variable 的真值并将其取反。

因此,如果变量为 false(或强制为 false),if (!variable) { 将进入 if 子句

总共

if (!variable.onsubmit || (variable.onsubmit() != false)) {

表示 - 检查 variable.onsubmit 是否已定义且为 true(因此为 true),然后检查调用 onsubmit 是否返回强制为 true 的结果。在短短的一行中,它检查是否没有 onsubmit 或返回 true。

下次我自己该如何找到这个?

关于javascript - JavaScript中变量前的感叹号是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19491491/

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