什麼是變數。
變數:我們從字面上看,變數是可變的量,從編程意義上講,可以理解為是一個倉庫,拿來存放某些數值;如上圖,大方框可看做是倉庫,倉庫裡面可存放各類物品。變數名就是倉庫的名稱。
變數的命名規範:
1、變數名必須以字母.下標符號"_"或者"$"開頭;
2、變數名的長度不得超過255個字元;、
3、變數名中不可以使用空格,並且開頭不得以數字開頭;
4、不用使用指令碼語言中保留的關鍵字及保留符號作為變數名;
5、變數名是區分大小寫,var a=1和var A=1;
局部變數(Local variables)
指在程式中只在特定過程或函數中可以訪問的變數。局部變數是相對於全域變數而言的。在物件導向語言中,一般只使用局部變數。物件導向編程是現在普遍採用的是軟體開發方法,因此無需考慮是局部變數還是全域變數,說到變數,往往都是局部變數。
在C語言等面向過程語言中,局部變數可以和全域變數重名,但是局部變數會屏蔽全域變數。在函數內引用這個變數時,會用到同名的局部變數,而不會用到全域變數。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>變數</title> <script type="text/javascript"> function aa(){ var a=5; // 局部變數,只在aa()函數體裡面起作用。 } function bb(){ var a=5; alert(a); } bb(); </script> </head> <body> </body> </html>
全域變數 變數分為局部與全域,局部變數又可稱之為內部變數。由某對象或某個函數所建立的變數通常都是局部變數,只能被內部引用,而無法被其它對象或函數引用。 全域變數既可以是某對象函數建立,也可以是在本程式任何地方建立。全域變數是可以被本程式所有對象或函數引用。一個局部變數在被其它對象引用時,會是一個空值。但全域變數卻不會出現這種情況。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全域變數</title> <script type="text/javascript"> var a=888; // 全域變數,但是:很少,盡量別用. function aa(){ var a=55; alert(a); } function bb(){ alert(a); } aa(); </script> </head> <body> </body> </html>
閉包
所謂閉包,簡單理解就是子函數使用父函數的局部變數;所以
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>閉包</title> <script type="text/javascript"> function aa(){
var a=10;
function bb(){
alert(a);
}
return bb;
}
var result=aa();
result(); // 彈出10 </script> </head> <body> </body> </html>