2014-04-24 10 views
5

Jak sprawdzić isset w javascript.Funkcja JavaScript setset()

Użyłem w następujący sposób.

var sessionvalue = document.getElementById('sessionvalue').value; 

if(Here I have to check if isset the sessionvalue or not){ 

    if(sessionvalue == "" || sessionvalue == null) 
    { 
     document.getElementById('sessionvalue').style.borderColor="red"; 
     return false; 
    } 
    else 
    { 
     document.getElementById('sessionvalue').style.borderColor="#ccc"; 
    } 
} 

Odpowiedz

8

Kiedy zmienne JavaScript nie zostały zadeklarowane i spróbować je połączyć, wracają undefined, więc można zrobić:

if (typeof sessionvalue == "undefined" || sessionvalue == null)

+1

i jeszcze jeśli ' (typeof (sessionvalue.property) == "undefined" || sessionvalue.property == null) 'wynikiem jest wyjątek' Uncaught ReferenceError: sessionvalue is not defined', więc tylko wierzchołek lodowej góry, jeśli chodzi o zaimplementowanie czegoś nawet blisko 'isset'. odpowiednio głosować w dół. – user3338098

+0

@ user3338098 Pytanie dotyczyło tego, czy obiekt istnieje, a nie jego właściwości. Całkiem oczywiste, aby własność obiektu istniała, obiekt musi istnieć jako pierwszy. Tak więc twój stan ulegnie nieznacznej zmianie. Sprawdzisz, czy obiekt istnieje pierwszy, a jeśli tak, szukaj dalej nieruchomości. Zapoznaj się z przykładem: https://jsfiddle.net/kx6gcLLm/ –

+0

w obu kierunkach, odpowiednik funkcji * php * 'isset', która sprawdza dowolną liczbę właściwości, ma zupełnie inny charakter. rozważ: php: 'isset (a-> b-> c-> d-> e-> f)' i teraz * javascript * 'if (typeof a ==" undefined "|| a == null || typeof (ab) == "undefined" || ab == null || typeof (abc) == "undefined" || abc == null || typeof (abcd) == "undefined" || abcd == null || typeof (abce) == "undefined" || abce == null || typeof (abcef) == "undefined" || abcef == null) 'teraz możemy zobaczyć, jak różnica jest tak ekstremalna, że ​​bezużyteczna. – user3338098

11

Można po prostu zrobić:

if(sessionvalue) 

Powyższe automatycznie sprawdzi się pod kątem undefined, null (i NaN, false, "")

Możesz nawet uczynić z niego funkcję globalną, jeśli potrzebujesz jej tak, jak przywykłeś w php.

function isset(_var){ 
    return !!_var; // converting to boolean. 
} 
0

można po prostu zrobić if(sessionvalue), że jest to nie trzeba nic więcej i zapamiętać można porównywać jabłka z samochodami w JavaScripcie, można sprawdzić, czy wartość jest null lub undefined z if(sessionvalue) lub if(!sessionvalue), Twój kod będzie :

document.getElementById('sessionvalue').style.borderColor= sessionvalue ? "red" : "#CCC"; 
0

Spróbuj kod jak poniżej

var sessionvalue=document.getElementById('sessionvalue').value; 
if(typeof sessionvalue != 'undefined'){ 

    if(sessionvalue=="" || sessionvalue == null) 
    { 
     document.getElementById('sessionvalue').style.borderColor="red"; 
     return false; 
    } 
    else 
    { 
     document.getElementById('sessionvalue').style.borderColor="#ccc"; 


    } 
} 
0
if(typeof(data.length) != 'undefined') 
    { 
     // do something 
    } 

    if(empty(data)) 
    { 
     // do something 
    } 

    if(typeof(data) == 'undefined' || data === null) 
    { 
    //do something 
    }