2016-06-28 39 views
1

我是JavaScript新手,正在使用Netbeans編寫一個簡單的網站。由於JavaScript是動態類型語言,我想知道如何在不確定的情況下找出變量的類型。如何找出JavaScript中的變量類型?

例如,如何在下面的代碼中找到變量類型emailAddressdomainPart

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

你不能找出*變量*的類型,因爲它們沒有類型,但是你可以使用'typeof'運算符在變量中找出* value *的類型。說了這麼多,**所有的值都是字符串。**如果'emailAddress'沒有包含字符串,就不能使用'.substring()','.substring()'總會返回一個串。 – nnnnnn

+0

您是否嘗試過使用typeof關鍵字?例如: typeof emailAddress –

+2

請允許先看看,這個問題已經被回答很多次了 –

回答

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

您也可以使用'Array.isArray(myArray)' – Rajesh

+0

這並沒有真正回答這個問題。你不會使用'instanceof'來測試字符串,數字和布爾值(即使這樣做,你必須多次調用它,直到你找到一個匹配項)。 – nnnnnn

1

可以使用的typeof: typeof操作符返回一個字符串,表明未計算的操作數的類型

+0

「未評估操作數」是什麼意思? – nnnnnn

1

正如在評論中指出,你不能檢查的類型的變量,但您可以使用typeof()檢查變量值的類型:

x = "hello"; 
y = 123; 
z = true; 
console.log(typeof(x)); //Will return "string" 
console.log(typeof(y)); //Will return "number" 
console.log(typeof(z)); //Will return "boolean" 
+1

請注意'typeof'是一個操作符,而不是一個函數。 (括號不會傷害,但不需要。) – nnnnnn

相關問題