一、變量
從字面上看,變量是可變的量;從編程角度講,變量是用于存儲數據的容器

1.1變量特性
  javascript中的變量是松散類型的,可以保存任何類型的數據。由于不存在定義某個變量必須要保存何種數據類型值的規則,變量的值及其數據類型可以在腳本的生命周期內改變 
1.2變量命名
  變量可以任意取名,但必須遵循命名規則:
[1]第一個字符必須是字母、下劃線或美元符號。其他字符可以是字母、下劃線、美元符號或數字
//錯誤示范 6num //開頭不能用數字 %sum //開頭不能用除(_ $)外特殊符號,如(% + /等) sum+num //開頭中間不能使用除(_ $)外特殊符號,如(% + /等)
[2]字符中的字母可以包括拓展的ASCII或Unicode字母字符,也可以使用中文
[3]不能使用關鍵字、保留字、true、false和null
[4]變量對大小寫敏感
[5]標識符應采用小駝峰格式,第一位應該是數據的類型,常見的標識如下:
數組       a    Array      aItems
布爾值          b    Boolean     bIsComplete
浮點數          f    Float       fPrice
函數      fn    Function    fnHandler
整數       i    Integer    iItemCount
對象        o    Object     oDIv1
正則表達式       re    RegExp     reEmailCheck
字符串         s    String     sUserName
變量       v    Variant   vAnything     
1.3變量聲明
聲明格式為: var 變量名;
var num;//聲明一個變量var num1,num2;//聲明多個變量
用var操作符定義的變量將成為定義該變量的作用域中的局部變量。若省略var操作符,可以創建一個全局變量,但在嚴格模式下會拋出 ReferenceError錯誤
var num1=1;num2=2;//在嚴格模式下會報錯num3;//報錯
如果重新聲明 JavaScript 變量,該變量的值不會丟失
var carname="Volvo";console.log(carname);//Volvovar carname;console.log(carname);//Volvo
1.4聲明提升
javascript中的變量聲明會提升到所有函數和語句之前,但提升后的變量將返回undefined,因為只是聲明提升,賦值操作并沒有提升
console.log(myvar); // undefinedvar myvar = "local value";console.log(myvar); // "local value"
1.5變量賦值
  使用"="給變量賦值,也就是存儲內容。變量可以在聲明時賦值,但不能有其他操作,如+=、-=等
var num = 5;//上下是等價的var num;num = 5;var a = 2;//正確var a += 2;//錯誤var a = 2++;//錯誤,++只能用于變量,不能用于常量
二、標識符
標識符是指變量、函數、屬性的名字,或者函數的參數
2.1標識符命名
  命名規則同變量命名規則,對于不符合命名規則的屬性如border-color應寫為大括號方式[borderColor] 
2.2標識符解析
  標識符解析是沿著作用域鏈一級一級地搜索標識符的過程。搜索過程始終從作用域鏈的前端開始,然后逐級地向后回溯,直到找到標識符為止。
[1]如果局部環境中存在著同名標識符,就不會使用父環境中的標識符
[2]如果找不到標識符,表示標識符尚未聲明,通常會導致錯誤發生
[3]JavaScript引擎在優化標識符查詢方面做得不錯,訪問父環境和局部環境的標識符的時間差別可以忽略不計
var num = 1;function test(){ num = 2; console.log(num);//2 console.log(number);//報錯}test();以上就是關于javascript的變量與標識符的相關內容,希望對大家的學習有所幫助。
新聞熱點
疑難解答