Javascript把null、undefined、0、NaN和空字符串”視為false,其他值一概視為true
parseFloat() 函數
定義和用法
parseFloat() 函數可解析一個字符串,并返回一個浮點數。 該函數指定字符串中的首個字符是否是數字。如果是,則對字符串進行解析,直到到達數字的末端為止,然后以數字返回該數字,而不是作為字符串。
語法 parseFloat(string)
parseFloat 是全局函數,不屬于任何對象。 parseFloat 將它的字符串參數解析成為浮點數并返回。如果在解析過程中遇到了正負號(+ 或 -)、數字 (0-9)、小數點,或者科學記數法中的指數(e 或 E)以外的字符,則它會忽略該字符以及之后的所有字符,返回當前已經解析到的浮點數。同時參數字符串首位的空白符會被忽略。 如果參數字符串的第一個字符不能被解析成為數字,則 parseFloat 返回 NaN。 提示:您可以通過調用 isNaN 函數來判斷 parseFloat 的返回結果是否是 NaN。如果讓 NaN 作為了任意數學運算的操作數,則運算結果必定也是 NaN。
注釋:開頭和結尾的空格是允許的。 提示:如果字符串的第一個字符不能被轉換為數字,那么 parseFloat() 會返回 NaN。 提示:如果只想解析數字的整數部分,請使用 parseInt() 方法。
document.write(parseFloat(“10”)) document.write(parseFloat(“10.00”)) document.write(parseFloat(“10.33”)) document.write(parseFloat(“34 45 66”)) document.write(parseFloat(” 60 “)) document.write(parseFloat(“40 years”)) document.write(parseFloat(“He was 40”))
輸出: 10 10 10.33 34 60 40 NaN
下面的例子都返回 3.14:
document.write(parseFloat(“3.14”)) document.write(parseFloat(“314e-2”)) document.write(parseFloat(“0.0314E+2”)) document.write(parseFloat(“3.14more non-digit characters”))
輸出: 3.14
HTML DOM PRompt() 方法
語法 prompt(text,defaultText)
參數 描述 text 可選。要在對話框中顯示的純文本(而不是 HTML 格式的文本)。 defaultText 可選。默認的輸入文本。
說明 如果用戶單擊提示框的取消按鈕,則返回 null。如果用戶單擊確認按鈕,則返回輸入字段當前顯示的文本。 在用戶點擊確定按鈕或取消按鈕把對話框關閉之前,它將阻止用戶對瀏覽器的所有輸入。在調用 prompt() 時,將暫停對 JavaScript 代碼的執行,在用戶作出響應之前,不會執行下一條語句。
<html><head><script type="text/javascript">function disp_prompt() { var name=prompt("請輸入您的名字","Bill Gates") if (name!=null && name!="") { document.write("你好," + name + "!今天過得好嗎?") } }</script></head><body><input type="button" onclick="disp_prompt()" value="顯示一個提示框" /></body></html>Map和Set
JavaScript的默認對象表示方式{}可以視為其他語言中的Map或Dictionary的數據結構,即一組鍵值對。
但是JavaScript的對象有個小問題,就是鍵必須是字符串。但實際上Number或者其他數據類型作為鍵也是非常合理的。
為了解決這個問題,最新的ES6規范引入了新的數據類型Map。
用JavaScript寫一個Map如下:
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);m.get('Michael'); // 95初始化Map需要一個二維數組,或者直接初始化一個空Map。Map具有以下方法:
var m = new Map(); // 空Mapm.set('Adam', 67); // 添加新的key-valuem.set('Bob', 59);m.has('Adam'); // 是否存在key 'Adam': truem.get('Adam'); // 67m.delete('Adam'); // 刪除key 'Adam'm.get('Adam'); // undefined新聞熱點
疑難解答