2016-07-24 7 views
1

Ich weiß, wenn wir unassign Variable in Javascript wir tun können, definieren wollen:Verschiedene Möglichkeiten zur Definition unassign Variable in Javascript

var p; 

und das andere:

var p ={}; 

Ich möchte wissen, Unterschiede zwischen diese zwei Möglichkeiten, und wenn ich eine Variable in der zweiten Weise definiere, ist es nicht null! Was ist der Wert in den Variablen, wenn wir es in einem if Zustand verwendet werden sollen, zum Beispiel:

var p ={}; 
if(p=='what i shout put there') 
    {} 
+4

'{}' ist ein Objekt. Natürlich ist es nicht null. – melpomene

+0

'var p = {}' ist keine nicht zugewiesene Variable. Sie haben ihm ein leeres Objekt zugewiesen. –

+0

Versuchen Sie 'var p = {}; console.log (typeof p); ' –

Antwort

2

var p eine freie Variable erstellt. So wird console.log(p) log undefined

var p ={}; ist ein Weg, Ziel der Schaffung literal notation verwenden.

Object p Methoden wie constructor, hasOwnProperty, toLocaleString etc

if (p == 'was ich rufe setzen dort') {}

Wenn es erforderlich ist, wenn p zu überprüfen ist ein Objekt, dann ist unter Snippet nützlich

if(Object.prototype.toString.call(a) === '[object Object]'){ 
// Do rest of code 
} 

Ein Objekt kann Eigenschaften haben. wie

var p={}; 
p.a ="someValue"; 

In diesem Fall können Sie überprüfen, indem

if(p.a === 'someValue'){ 
    // Do rest of code 
    } 
0
var p = {}; 

Es ist nicht nicht zugewiesen wird, ist es infact auf das leere Objekt zugeordnet

Wenn Sie unten tun, wird es sein, trut

if(p) {} // truthy