javaScript變數

DayDreame發表於2018-05-01
JavaScript的型別有:數字、字串、布林值、函式和物件。還有undefined和null,以及陣列、日期和正規表示式。


var num = 1; //{1}
num = 3; //{2}
var price = 1.5; //{3}
var name = "Mark"; //{4}
var trueValue = true; //{5}
var nullVar = null; //{6}
var und; //{7}複製程式碼

在行1的時候,我們宣告瞭一個數字型別的;雖然var不是必須的,但是我們每次最好都宣告一下。

在行2,我們把num更新。這個操作以為著你可以宣告一個變數並初始化為一個數字型別的值,然後更新成字串或其他型別的值。最好不要這樣做o。

在行3,我們宣告瞭一個十進位制浮點數的數字型別的變數。

在行4,我們宣告的是字串。

在行5,宣告瞭一個布林值。

在行6,宣告瞭一個null。

在行7,宣告瞭undefined變數。

注:null表示變數沒有值,undefined表示變數已被宣告,但尚未賦值

如果我們想看到每個變數的值,console.log列印即可檢視

console.log(num);
console.log(price);
console.log(name);
console.log(trueValue);
console.log(nullVar);
console.log(und);複製程式碼

列印出的值分別是:

3;
1.5
Mark
true;
null;
undefined複製程式碼


我們們還可以通過控制檯列印出任何想看到的東西:

例如:console.log("小馬今天起床到現在,什麼都沒吃呢!")複製程式碼

在chrome中就如下:

變數作用域

變數分為本地變數和全域性變數兩種

我們看下面這個例子:

var myVariable = 'global';
myOtherVariable = 'global';

function myFunction(){    
    var myVariable = 'local';    
    return myVariable;
}

function myOtherFunction(){    
    myOtherVariable = 'local';    
    return myOtherVariable;
}


console.log(myVariable); //{1}    global
console.log(myFunction()); //{2}   local

console.log(myOtherVariable); //{3}   global
console.log(myOtherFunction()); //{4}   local
console.log(myOtherVariable); //{5}  local複製程式碼

行1輸出global,因為他是一個全域性變數;

行2輸出local,因為myVariable在myFunction函式中宣告的本地變數,所以作用域僅在myFunction中;

行3輸出global,因為我們在第二行初始化了的全域性變數myOtherVariable;

行4輸出local,myOtherFunction函式中,沒有關鍵詞var的修飾,所以這裡引用全域性變數myOtherVariable並將其複製loacl;

在行輸出local,這是因為在行4中已經修改了myOtherVariable的值;

注:程式碼質量是可以用全域性變數和函式的數量看來參考的,數量越多越糟糕。所以說,我們儘量避免使用全域性變數


相關文章