1、關於變量
(一)JS變量的規則:
1.必須以字母(嚴格區分大小寫)、下劃線或美圓符號開頭,後面能夠跟字母、下劃線、美圓符號和數字。以下:
正確: css
1 mysum 2 _mychar 3 $numa1
錯誤: 函數
1 6num //開頭不能用數字 2 %sum //開頭不能用除(_ $)外特殊符號,如(% + /等) 3 sum+num //開頭中間不能使用除(_ $)外特殊符號,如(% + /等)
2.變量名區分大小寫,如:A與a是兩個不一樣變量。
3.不容許使用JavaScript關鍵字和保留字作變量名。
js中的關鍵字可用於表示控制語句的開始或結束,或者用於執行特定操做等。按照規則,關鍵字也是語言保留的,不能用做標識符。如下就是ECMAScription的所有關鍵字:this
break、else、new、var、case、finally、return、void 、catch、for 、switch、while、continue、function、this、with 、default、if、throw、delete、 in 、try 、do 、instranceof、typeof
ECMA還描述了另一組不能用做標識符的保留字。儘管保留字在這門語言中尚未任何特定的用途,但它們有可能未來被用做關鍵字。下面是ECMA第3版定義的所有保留字:spa
abstract 、 enum 、int 、short 、boolean、export、interface、static、 byte、extends、long 、super 、char 、final、native、synchronized 、 class、float、package、throws、const、goto、private、transient、debugger、implements、protected 、volatile、double、import、public
定義變量不用當即賦值:
能夠同時聲明多個變量,用逗號(,)隔開
同一變量能夠屢次聲明,(聲明的位置不一樣使用範圍等意義不一樣)
debug
var x; x = 5-3; alert(x);
var x = 3; var y = 4; var z = 5;等同於var x = 3, y = 4, z = 5;
var x = 10;
x = 16;
function a(){
x = 15;
}
(二)變量的聲明
1.使用var屢次聲明同一個變量,是合法的,不會所以語法的錯誤;重複的聲明並初始化變量值,只是至關於普通的賦值語句。
2.讀取一個未聲明的變量值,js會產生一個錯誤。
3.嘗試給一個未經var 聲明的變量賦值,js會隱式聲明該變量,隱式聲明的變量被建立爲全局變量。
4.不管是全局變量仍是局部變量,最好都使用var進行聲明。code
(三)全局變量和局部變量 ------變量的做用域
全局(global)變量的做用域是全局的,即在js代碼中到處有定義。
局部(local)變量的做用域是局部性的,只在特定的範圍內,好比函數內部定義的變量,函數的參數變量,這些變量的做用範圍是侷限在函數的內部的。
1.聲明全局變量能夠不適用var 關鍵字,局部變量則必須使用var關鍵字來聲明,爲了不沒必要要的麻煩,養成全部的變量都使用var關鍵字來聲明。
2.變量的定義沒有塊級做用域 --在函數中聲明的全部的變量,不管是在哪裏聲明的(只要是在函數內部),在整個的函數中都是有聲明的blog
(四)未定義的變量和未賦值的變量
未定義的變量:指沒有聲明而且沒有初始化的變量,嘗試讀取這種變量會產生一個錯誤。注: 這裏要區分開沒有聲明但初始化了的變量,這種變量不會引發錯誤,程序會在全局變量中隱式的聲明該類變量。
未賦值的變量:指已經聲明但沒有初始化的變量,嘗試讀取該類變量將獲得一個默認值undefined.ip
(五)JS三大經典變量命名法
1.匈牙利命名法:--經過在變量名前面添加相應小寫字母的符號標示做爲前綴,標示出變量的做用域,類型等,前綴後面是一個或多個單詞組合,單詞描述了變量的用途,如i表示的是整數,s表示的是字符串。示例:作用域
1 var sUserName = 'css8'; 2 var iCount = 0;
2.駱駝式/駝峯命名法 --混合使用大小寫字母來構成變量的名稱。示例:字符串
1 var printLoadTemplates;//名稱首字母小寫,其餘每一個單詞的首字母大寫 2 var print_load_templates;//下劃線法,每一個單詞用一個下劃線標記
3.帕斯卡命名法 --和駝峯命名法相似,可是,駝峯第一個單詞首字母小寫,而帕斯卡命名法第一個單詞首字母也大寫。
(六)特殊數值常量:(number)
1 Infinity 無窮大的特殊值 2 NaN 非數字值 3 Number.MAX_VALUE 可表示的最大數字 4 Number.MIN_VALUE 可表示的最小數字 5 Number.NaN 非數字值 6 Number.POSITIVE_INFINITY 正無窮大 7 Number.NEGATIVE_INFINITY 負無窮大