JavaScript中变量的意思是什么?

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

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

它是什么? 某种测试,如果变量是空的?


! 是JavaScript中的逻辑非操作符。

正式地

!expression被读作:

  • expression并评估它。 在你的情况下,这是variable.onsubmit
  • 计算该评估的结果并将其转换为布尔值。 在你的情况下,因为onsubmit可能是一个函数,这意味着 - 如果函数未定义 - 返回false,否则返回true。
  • 如果评估结果为真,则返回false。 否则返回true。
  • 在你的情况

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

    简单地说- !variable来取的真值variable和否定它。

    因此, if (!variable) {将在变量为false时输入if子句(或强制为false)

    总共

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

    手段 - 检查是否定义了variable.onsubmit .onsubmit和真值(因此为true),然后检查调用onsubmit返回强制为真的结果。 在简短的一行中,它检查是否没有onsubmit或它返回true。

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

  • MDN在这里有一个运营商列表。
  • 语言规范指定了这样的操作符,虽然它是官方规范,但它包含一些可能难以理解的术语。

  • 它是一个用于对变量进行真值测试的否定运算符。

    var myVariable = 1;
    
    if ( ! myVariable )
    {
        // myVariable evaluates as false
    }
    
    if ( myVariable )
    {
        // myVariable evaluates as true
    }
    
    链接地址: http://www.djcxy.com/p/74985.html

    上一篇: What does an exclamation mark before a variable mean in JavaScript

    下一篇: Angular2 Click method always return false value