是否有一種鍵入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. javascript變量輸入值
- 8. Python可變輸入量
- 9. 我可以在Userdata腳本中訪問cfn輸入參數變量嗎?
- 10. 我可以使用用戶輸入按名稱打印變量嗎?
- 11. 在pygame中:我可以將鍵盤輸入保存在變量中嗎?
- 12. 可以使用變量設置文本輸入字段的值嗎?
- 13. 輸入到JavaScript變量的表格
- 14. 來自頁面的JavaScript變量輸入?
- 15. javascript添加變量到輸入欄rails
- 16. 在JavaScript中抓取/輸入php變量?
- 17. 將Javascript變量輸入到innerHTML中
- 18. 我可以在嵌入式JavaScript部分內使用VB變量嗎?
- 19. 從HTML調用js函數時可以訪問javascript變量嗎?
- 20. 我可以使用javascript變量來查詢Neo4j嗎?
- 21. 我們可以在javascript url中傳遞GET變量嗎?
- 22. 可以在純HTML中使用JavaScript變量嗎?
- 23. 用戶控制檯可以讀取本地javascript變量嗎?
- 24. jsFiddle中的JavaScript變量可以包含HTML腳本標記嗎?
- 25. 我可以將JavaScript變量傳遞給內聯ASP.NET代碼嗎?
- 26. 在javascript中,可以在變量的位置使用屬性嗎?
- 27. JavaScript變量的長度是2Mb可以嗎?
- 28. JavaScript/jQuery可以根據變量自動更改元素嗎?
- 29. 我可以從JavaScript內部分配一個jade變量嗎?
- 30. 可以使用內聯PHP設置JavaScript變量值嗎?
您可以使用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