2016-06-28 15 views
1

Ich bin neu in JavaScript und schreibe eine einfache Website mit Netbeans. Da JavaScript eine dynamisch typisierte Sprache ist, habe ich mich gefragt, wie ich den Typ einer Variablen in Situationen herausfinden kann, in denen ich unsicher bin. Wie kann ich den Variablentyp emailAddress oder domainPart im folgenden Code herausfinden?Wie finde ich den Variablentyp in JavaScript?

function getEmailAndDomainParts(){ 
       var emailAddress = document.getElementById("EmailAddress").value; 
       var emailPart = emailAddress.substring(0, emailAddress.indexOf("@")); 
       var domainPart = emailAddress.substring(emailAddress.indexOf("@") + 1); 

       document.getElementById("Email").value = emailPart; 
       document.getElementById("Domain").value = domainPart; 
      } 
+0

Sie können den Typ einer * Variablen * nicht ermitteln, da sie keinen Typ haben, aber Sie können den Typ des * Wertes * in der Variablen mit dem Operator 'typeof' ermitteln. Allerdings ** sind all Ihre Werte Strings. ** Wenn 'emailAddress' keine Zeichenfolge enthält, können Sie' .substring() 'nicht verwenden, und' .substring() 'gibt immer eine zurück Zeichenfolge. – nnnnnn

+0

Haben Sie versucht, typeof keyword zu verwenden? Etwas wie: typeof emailAddress –

+2

Bitte erlaubt sich zuerst umzusehen, diese Frage wurde schon viele Male vor –

Antwort

1
// test data 
var myArray = ['a', 'b', 'c']; 

// the usual typeof isn't very useful 
alert(typeof myArray); 

// this instance of method tests the array 
// to see if it is an instance of the 'Array' 
// constructor, which it is! 
alert(myArray instanceof Array) 

click here

+0

beantwortet. Sie können auch 'Array.isArray (myArray)' – Rajesh

+0

verwenden Dies beantwortet nicht wirklich die Frage. Sie würden 'instanceof' nicht verwenden, um nach Zeichenfolgen, Zahlen und booleschen Werten zu suchen (und selbst wenn das funktionierte, müssten Sie es mehrmals aufrufen, bis Sie eine Übereinstimmung gefunden haben). – nnnnnn

1

Sie typeof verwenden können: Der typeof-Operator gibt eine Zeichenfolge, die den Typ des unevaluierten Operand

+0

Was meinen Sie mit "unevaluierter Operand"? – nnnnnn

1

Wie wies darauf hin, in den Kommentaren, können Sie den Typ nicht überprüfen Ihrer Variablen, aber Sie können den Typ des Wertes Ihrer Variablen mit typeof():

überprüfen 210
+1

Beachten Sie, dass "typeof" ein Operator ist, keine Funktion. (Die Klammern tun nicht weh, aber sie werden nicht benötigt.) – nnnnnn

Verwandte Themen