詳解javascript的變數與標識符,詳解javascript變數

來源:互聯網
上載者:User

詳解javascript的變數與標識符,詳解javascript變數

一、變數

  從字面上看,變數是可變的量;從編程角度講,變數是用於儲存資料的容器

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
Regex       re    RegExp     reEmailCheck
字串         s    String     sUserName
變數       v    Variant   vAnything     

1.3變數聲明
聲明格式為: var 變數名;

var num;//聲明一個變數var num1,num2;//聲明多個變數

  用var操作符定義的變數將成為定義該變數的範圍中的局部變數。若省略var操作符,可以建立一個全域變數,但在strict 模式下會拋出 ReferenceError錯誤

var num1=1;num2=2;//在strict 模式下會報錯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的變數與標識符的相關內容,希望對大家的學習有所協助。

您可能感興趣的文章:
  • js 多種變數定義(對象直接量,數組直接量和函數直接量)
  • Js檢查變數類型的代碼()
  • js變數以及其範圍詳解
  • JS中的this變數的使用介紹
  • 在JS中如何調用JSP中的變數
  • JS在IE下缺少標識符的錯誤
  • JS判斷變數是否為空白判斷是否null
  • js delete 用法(刪除對象屬性及變數)
  • JavaScript閉包函數訪問外部變數的方法
  • 使用變數動態設定js的屬性名稱

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.