Как проверить неопределенную переменную в JavaScript

Библиотека multiprocessing предоставляет слушателям и клиентам , которые обертывают сокеты и позволяют передавать произвольные объекты python.

Ваш сервер мог слушать получать объекты python:

from multiprocessing.connection import Listener

address = ('localhost', 6000)     # family is deduced to be 'AF_INET'
listener = Listener(address, authkey='secret password')
conn = listener.accept()
print 'connection accepted from', listener.last_accepted
while True:
    msg = conn.recv()
    # do something with msg
    if msg == 'close':
        conn.close()
        break
listener.close()

Ваш клиент может отправлять команды как объекты:

from multiprocessing.connection import Client

address = ('localhost', 6000)
conn = Client(address, authkey='secret password')
conn.send('close')
# can also send arbitrary objects:
# conn.send(['a', 2.5, None, int, sum])
conn.close()

851
задан Josh Crozier 3 March 2017 в 19:35
поделиться

5 ответов

В JavaScript null является объектом. Есть еще одно значение для несуществующих вещей - undefined . Модель DOM возвращает null почти во всех случаях, когда не удается найти какую-либо структуру в документе, но в самом JavaScript undefined используется значение.

Во-вторых, нет, существует не прямой эквивалент. Если вы действительно хотите проверить наличие null , выполните:

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

Если вы хотите проверить, существует ли переменная, это можно сделать только с помощью try / catch , поскольку typeof будет обрабатывать необъявленную переменную и переменную, объявленную со значением undefined , как эквивалент.

Но, чтобы проверить, объявлена ​​ли переменная и не undefined :

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

Остерегайтесь, это чушь, потому что может быть переменная с именем undefined :

if (yourvar !== undefined)

Если вы хотите знать, является ли член существует независимо, но не Неважно, какое у нее значение:

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

Если вы хотите узнать, истинна ли переменная :

if (yourvar)

Источник

1647
ответ дан 22 November 2019 в 21:06
поделиться

Я часто делал:

function doSomething(variable)
{
    var undef;

    if(variable === undef)
    {
         alert('Hey moron, define this bad boy.');
    }
}
15
ответ дан 22 November 2019 в 21:06
поделиться

Еще более простой и более сокращенный вариант:

if (!x) {
   //Undefined
}

ИЛИ

if (typeof x !== "undefined") {
    //Do something since x is defined.
}
20
ответ дан 22 November 2019 в 21:06
поделиться

В JavaScript null является объектом. Есть еще одно значение для несуществующих вещей: undefined . Модель DOM возвращает null почти во всех случаях, когда не удается найти какую-либо структуру в документе, но в самом JavaScript используется значение undefined .

Во-вторых, нет, существует не прямой эквивалент. Если вы действительно хотите проверить наличие null , выполните:

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

Если вы хотите проверить, существует ли переменная, это можно сделать только с помощью попробуйте / catch , поскольку typeof будет рассматривать необъявленную переменную и переменную, объявленную со значением undefined , как эквивалент.

Но, чтобы проверить, объявлена ​​ли переменная и не undefined :

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

Осторожно,

66
ответ дан 22 November 2019 в 21:06
поделиться

Единственный способ проверить, является ли переменная неопределенной , - это выполнить следующие действия. Помните, что undefined - это объект в JavaScript.

if (typeof someVar === 'undefined') {
  // Your variable is undefined
}

Некоторые другие решения в этом потоке заставят вас поверить в то, что переменная не определена, даже если она была определена (например, со значением NULL или 0).

336
ответ дан 22 November 2019 в 21:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: