「前端架構師30天快速掌握js06」之變數知識點詳解

此篇文章講解目錄:

  • 變數的命名

  • 變數的聲明

  • 變數的類型

  • 全局變數和局部變數

  • 註釋

變數的命名

  • 命名規則

  • 變數名是由數字、字母、下劃線組成的,其中字母里大小寫字母均可;

  • 變數名首位不是能數字,可以是字母下劃線;首位后的位置可以是數字,字母,下劃線;

  • 不能使用關鍵字和保留字作為變數的名字(需要避開的名字);

  • 關於關鍵字和保留字,這個可以拿生活中的現象舉例子,大人給小孩起名字的時候,小孩的名字一定不能和他父親母親的名字一樣;當然也不能和爺爺,奶奶,外公,外婆,舅舅,姑姑等等這些名字一樣;這個就是現實中約定俗成的規則;

  • 在JS中,也有些單詞是有特殊意義的,或者是為了以後語言升級做準備的;而這些單詞就不能作為變數名;比如前面接觸的typeof,function;這樣的單詞就不能作為變數名;

    Advertisements

  • 變數區分大小寫,test和Test是不一樣的,必須嚴格一樣,才算是一個變數的;(在javascript里,onclick必須要寫出onclick,不能寫成onClick;)

  • 常見的命名規則

  • 「-」連接符方法;

  • 比如給我桌子上門鑰匙命名;my-room-door-key 和 my_room_door_key;

  • 這種方法用」-」和下劃線"_"連接符來鏈接單詞,區別是下劃線在選擇變數的時候,滑鼠雙擊可以全部選擇;

  • 駝峰命名法;這種命名方法有兩種方式

  • 大駝峰:每個單詞的首字母大寫;MyRoomDoorKey

  • 小駝峰:第一個字母小寫,其它字母大寫;myRoomDoorKey

  • 匈牙利命名法;變數由類型+對象描述組成;

  • 對象(Object)用o表示;

    Advertisements

  • 函數(function)用fn表示;

  • 數組(array)用a表示;

變數的聲明

  • 變數通過var來聲明,避免一些不必要的錯誤,防止出現莫名其妙的錯誤

  • 重複聲明;

  • 不聲明直接賦值

  • 不要更改變數的類型,開始是值類型,後面就不要改為數值或別的別的了,開始如果用來儲存某個屬性值,就不要再用在別的屬性上了;

  • 需要讀寫的變數,讀寫前,一定要聲明;

  • 需要運算的變數,運算器,一定要賦值;

  • 書寫的時候,推薦把變數名放在頁面的上面(上部分)去聲明+定義;這樣不僅可以放心大膽的用,而且可以方便查找變數;

  • 在任何情況下聲明變數都要用var先聲明;

變數的類型

變數分為值類型和引用類型:

  • 值類型的特點

  • 佔用空間固定,保存在棧中;

  • 保存與複製都是值本身;

  • 使用typeof檢測數據的類型;

  • 基本數據類型是值類型;

  • 引用類型的特點

  • 佔用空間不固定,保存在堆中;

  • 保存與複製的是指向對象的一個指針;

  • 使用instanceof檢測數據的類型;

  • 使用new()方法構造出的對象是引用型;

全局變數和局部變數

  • 全局變數

  • 有兩種方式可以產生全局變數

  • 在函數體外定義的變數;

  • 在函數體內部定義的無var的變數;

  • 全局變數的用法:在任何位置都可以調用

  • 直接調用變數名

  • 通過window.varName 來調用

  • 局部變數

  • 局部變數有兩種類型;

  • 在函數內部使用var聲明的變數;

  • 函數的參數變數

  • 局部變數的調用方法:

  • 當前函數體內部;

  • 變數名的優先順序

  • 局部變數高於同名全局變數;

  • 參數變數高於同名全局變數;

  • 局部變數高於同名參數變數;

  • 全部變數和局部變數的特性

  • 忽略塊級作用域

  • 全部變數是全局對象的屬性

  • 局部變數是調用對象的屬性;

  • 作用域鏈;

  • 內層函數可訪問外層函數局部變數;

  • 外層函數不能訪問內層函數局部變數;

  • 生命周期

  • 全局變數;除非被顯示刪除,否則一直存在;

  • 局部變數:自聲明起至函數運行完畢或被顯示刪除;

  • 回收機制:

  • 標記清除

  • 引用計數;

註釋

  • 單行註釋是 : //註釋文字

  • 多行註釋是

大家好接下來我們會邀請前端架構師以連載的方式,通過30天的實戰系統講解JavaScript的專業知識,歡迎大家關注頭條號「互聯網IT信息」。

Advertisements

你可能會喜歡