是否有一種鍵入JavaScript變量的機制,因此可以確定由賦值返回的數據類型?由於JavaScript是一種動態語言,這是不可能的?JavaScript變量可以輸入嗎?
1
A
回答
2
的JavaScript變量可以容納多種數據類型:數字,字符串,數組,對象
我們可以找出使用typeof
一個變量的類型。
if(typeof myvar === 'number') {
// code you want
}
,或者您可以使用Object.prototype.toString
所以你不會有識別對象之間的差異&原始類型
> Object.prototype.toString.call(80)
"[object Number]"
> Object.prototype.toString.call("samouray")
"[object String]"
希望這是有幫助的。
0
您可以使用預編譯器在開發時添加類型(和其他功能),例如,打字稿:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
var greeter : Greeter = new Greeter("world");
打字稿是一個超集的JavaScript(這意味着你可以使用現有的JavaScript代碼是和它傳遞給打字稿編譯器)和開發,以提供與類型安全的開發者,繼承簡單等。編譯爲普通的JavaScript。
要獲得第一印象,您可以play with the compiler第一次體驗。
在運行時
得到實際的類型,因爲打字稿編譯成普通的JavaScript一個不能使用typeof
得到的打字稿聲明類型的名稱(這將返回例如對象上面定義的迎賓)。要解決這個問題,像下面的JavaScript方法是必需的:
function getClassName(obj) {
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec(obj["constructor"].toString());
return (results && results.length > 1) ? results[1] : "";
}
欲瞭解更多信息,請參閱How do I get the name of an object's type in JavaScript?,我發現上面的代碼片段。
相關問題
- 1. 可以使用Django形式的可變數量輸入嗎?
- 2. PHP可以從JavaScript讀取變量嗎?
- 3. javascript可以改變輸入文本的name屬性值嗎?
- 4. 我可以將HTML放入變量嗎?
- 5. 我可以在輸入語句中使用變量嗎?
- 6. 用戶可以更改選擇框的輸入變量嗎?
- 7. 退出程序(後臺輸入)後可以維護變量嗎?
- 8. 可以在輸出變量後聲明一個變量嗎? PHP
- 9. 的JavaScript變量值可以存儲在PHP變量中嗎?
- 10. javascript變量輸入值
- 11. $ $ idx可以用於變量變量嗎?
- 12. Python可變輸入量
- 13. 我們可以在php代碼中使用javascript變量和javascript變量嗎?
- 14. Can Gulp可以改變LESS變量嗎?
- 15. 我可以批量分配變量嗎?
- 16. DynamicMethod可以訪問變量以外的變量嗎?
- 17. javascript變量= x或y可能嗎?
- 18. 我可以使用用戶輸入按名稱打印變量嗎?
- 19. 你可以把一個jQuery函數的輸出放入一個變量中嗎?
- 20. 兩個不同的函數可以使用相同的輸入變量嗎?
- 21. 我可以在Userdata腳本中訪問cfn輸入參數變量嗎?
- 22. 我可以使用字符串變量作爲jQuery輸入掩碼參數嗎?
- 23. 可以使用變量設置文本輸入字段的值嗎?
- 24. 在pygame中:我可以將鍵盤輸入保存在變量中嗎?
- 25. 我們可以分配Javascript變量值到Razor語法變量嗎?
- 26. 我可以添加兩個變量來在JavaScript中創建變量名稱嗎?
- 27. 我可以在JavaScript中設置一個變量到一個變量組合嗎?
- 28. 我可以在嵌入式JavaScript部分內使用VB變量嗎?
- 29. 我可以將JavaScript條件的結果導入到PHP變量中嗎?
- 30. Python需要可變數量的輸入嗎?
您可以使用TypeScript,它是JavaScript的超集,可以將其轉換爲JavaScript。請參閱:http://www.typescriptlang.org/有一種感覺,因爲Angular 2將會使用它,所以現在會更多地使用它。 –
可能的重複[如何在JavaScript中獲取對象類型的名稱?](http://stackoverflow.com/questions/332422/how-do-i-get-the-name-of-an-objects-型中的JavaScript) – Markus