世俗理解:全域性變數和函式內部變數
全域性變數:在頁面上直接宣告的變數,“全域性”是指在整個當前頁面都能訪問到的變數;
預設屬於windows成員
直到頁面關閉或瀏覽器關閉才釋放資源
在每個<script></script>中都可以訪問到
容易引起“命名衝突”
②函式內部變數:作用範圍為當前函式內部
③沒有塊級作用域範圍,所以在方法中任何地方宣告的變數都是在整個方法中有效。、
④宣告變數可以用“var”,也可不用,不用“var”宣告的變數是全域性變數;
⑤ js中同樣不能有重名的變數,js發現變數重複後悔自動忽略後面的宣告,只是用第一次宣告的變數
注:推薦在js宣告變數時要用var,且少使用全域性變數
(5) 資料型別轉換
①字串轉化數字
字串轉換為整數: parseInt (numString, [radix]) radix 為要解析的字串的基數。該值介於 2 ~ 36之間。如果省略該引數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。如果該引數小於 2 或者大於 36,則parseInt() 將返回 NaN。
字串轉化為小數:parseFloat(numString)
②任意型別到指定型別
轉為字串: String (object)、物件.toString()
轉為Boolean: Boolean (object)
轉化為數字: Number (object)
③NaN:當某型別轉化為數字失敗時,返回
(6) eval () 函式
eval() 函式可將字串轉換為程式碼執行,並返回一個或多個值.
如果eval函式在執行時遇到錯誤,則丟擲異常給呼叫者.
類似的函式是 loadcode ,loadcode並不立即執行程式碼,而是返回一個函式物件.
並且loadcode支援路徑引數,eval並不支援. eval並不支援程式碼中的return語句,而是將程式碼作為表示式直接計算出結果.
注:不推薦使用,效率低且不安全局變數:在頁面上直接宣告的變數,“全域性”是指在整個當前頁面都能訪問到的變數;
預設屬於windows
直到頁面關閉或瀏覽器關閉才釋放資源
在每個<script></script>中都可以訪問到
容易引起“命名衝突”
②函式內部變數:作用範圍為當前函式內部
③沒有塊級作用域範圍,所以在方法中任何地方宣告的變數都是在整個方法中有效。、
④宣告變數可以用“var”,也可不用,不用“var”宣告的變數是全域性變數;
⑤ js中同樣不能有重名的變數,js發現變數重複後悔自動忽略後面的宣告,只是用第一次宣告的變數
注:推薦在js宣告變數時要用var,且少使用全域性變數
(5) 資料型別轉換
①字串轉化數字
字串轉換為整數: parseInt (numString, [radix]) radix 為要解析的字串的基數。該值介於 2 ~ 36之間。如果省略該引數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。如果該引數小於 2 或者大於 36,則parseInt() 將返回 NaN。
字串轉化為小數:parseFloat(numString)
②任意型別到指定型別
轉為字串: String (object)、物件.toString()
轉為Boolean: Boolean (object)
轉化為數字: Number (object)
③NaN:當某型別轉化為數字失敗時,返回NaN,表示不是一個數字;NaN不等於任何值,包括它自己,判斷時需要使用isNaN(arg)函式
(6) eval () 函式
eval() 函式可將字串轉換為程式碼執行,並返回一個或多個值.
如果eval函式在執行時遇到錯誤,則丟擲異常給呼叫者.
類似的函式是 loadcode ,loadcode並不立即執行程式碼,而是返回一個函式物件.
並且loadcode支援路徑引數,eval並不支援. eval並不支援程式碼中的return語句,而是將程式碼作為表示式直接計算出結果.
注:不推薦使用,效率低且不安全