1. 程式人生 > >世俗理解:全域性變數和函式內部變數

世俗理解:全域性變數和函式內部變數

全域性變數:在頁面上直接宣告的變數,全域性是指在整個當前頁面都能訪問到的變數;

預設屬於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語句,而是將程式碼作為表示式直接計算出結果.

注:不推薦使用,效率低且不安全局變數:在頁面上直接宣告的變數,全域性是指在整個當前頁面都能訪問到的變數;

預設屬於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語句,而是將程式碼作為表示式直接計算出結果.

注:不推薦使用,效率低且不安全