How to check a not-defined variable in JavaScript

后端 未结 14 742
陌清茗
陌清茗 2020-11-22 14:23

I wanted to check whether the variable is defined or not. For example, the following throws a not-defined error

alert( x );

How can I cat

相关标签:
14条回答
  • 2020-11-22 15:25

    In JavaScript, null is an object. There's another value for things that don't exist, undefined. The DOM returns null for almost all cases where it fails to find some structure in the document, but in JavaScript itself undefined is the value used.

    Second, no, there is not a direct equivalent. If you really want to check for specifically for null, do:

    if (yourvar === null) // Does not execute if yourvar is `undefined`
    

    If you want to check if a variable exists, that can only be done with try/catch, since typeof will treat an undeclared variable and a variable declared with the value of undefined as equivalent.

    But, to check if a variable is declared and is not undefined:

    if (yourvar !== undefined) // Any scope
    

    Previously, it was necessary to use the typeof operator to check for undefined safely, because it was possible to reassign undefined just like a variable. The old way looked like this:

    if (typeof yourvar !== 'undefined') // Any scope
    

    The issue of undefined being re-assignable was fixed in ECMAScript 5, which was released in 2009. You can now safely use === and !== to test for undefined without using typeof as undefined has been read-only for some time.

    If you want to know if a member exists independent but don't care what its value is:

    if ('membername' in object) // With inheritance
    if (object.hasOwnProperty('membername')) // Without inheritance
    

    If you want to to know whether a variable is truthy:

    if (yourvar)
    

    Source

    0 讨论(0)
  • 2020-11-22 15:25

    We can check undefined as follows

    var x; 
    
    if (x === undefined) {
        alert("x is undefined");
    } else {
         alert("x is defined");
    }
    
    0 讨论(0)
提交回复
热议问题