書名: JavaScript從入門到精通(第3版)作者名: 明日科技本章字數: 1303字更新時間: 2020-03-20 10:37:29
2.2 常量和變量
程序執行過程中,其值不能被改變的稱為常量,其值能被改變的稱為變量。本節將對JavaScript腳本語言的常量和變量進行詳細講解。
2.2.1 常量
常量是指在程序運行過程中保持不變的數據。例如,123是數值型常量,“JavaScript腳本”是字符串型常量,true或false是布爾型常量等。在JavaScript腳本編程中,可直接輸入這些常量值。
2.2.2 變量
變量是指程序中一個已經命名的存儲單元,其主要作用就是為數據操作提供存放信息的容器。對于變量的使用,首先必須明確其命名規則、聲明方法及其作用域。
1.變量的命名
JavaScript中,變量的命名規則如下:
必須以字母或下畫線開頭,中間可以是數字、字母或下畫線。
不能包含空格、加號、減號等符號。
不能使用JavaScript中的關鍵字(如表2.2所示)。
嚴格區分大小寫。例如,UserName與username代表兩個不同的變量。
說明
雖然JavaScript中變量可以任意命名,但是在實際編程時,最好還是使用便于記憶且有意義的變量名稱,以增加程序的可讀性。
表2.2 JavaScript的關鍵字

2.變量的聲明與賦值
在JavaScript中,使用變量前需要先對其進行聲明。所有的JavaScript變量都由關鍵字var聲明,語法格式如下:
var variable;
在聲明變量的同時,也可以對變量進行賦值,例如:
var variable=11;
聲明變量時所遵循的規則如下:
可以使用一個關鍵字var同時聲明多個變量,例如:
var a,b,c; //同時聲明a、b和c 3個變量
可以在聲明變量的同時對其賦值,即進行初始化,例如:
var i=1;j=2;k=3; //同時聲明i、j和k 3個變量,并分別對其進行初始化
如果只是聲明了變量,并未對其賦值,則其值默認為undefined。
var語句可以用作for循環和for/in循環的一部分,這樣就使循環變量的聲明成為循環語法自身的一部分,使用起來比較方便。
也可以使用var語句多次聲明同一個變量。如果重復聲明的變量已經有一個初始值,那么此時的聲明就相當于對變量的重新賦值。
給一個尚未聲明的變量賦值時,JavaScript會自動用該變量名創建一個全局變量。在函數內部創建的通常是一個僅能在函數內部起作用的局部變量,而不是一個全局變量。要創建一個局部變量,不需要賦值給一個已經存在的局部變量,只需要使用var語句進行變量聲明即可。
例如,聲明一些變量,代碼如下:

JavaScript中,變量可以不事先聲明,使用時根據其實際作用來確定其數據類型即可。但本書建議讀者在使用變量前先進行聲明,這是因為JavaScript采用動態編譯,不易于發現代碼中的錯誤,特別是變量命名方面的錯誤,通過聲明變量可以及時發現代碼中的錯誤。
3.變量的作用域
變量的作用域(Scope)是指變量在程序中的有效范圍。JavaScript中根據作用域,變量可以分為兩種:全局變量和局部變量。全局變量是定義在所有函數之外,作用于整個腳本代碼的變量;局部變量是定義在函數體內,只作用于函數體的變量(函數的參數也是局部性的,只在函數內部起作用)。例如,下面的程序代碼說明了變量的作用域。

說明
JavaScript中用“;”作為語句結束標記,如果不加也可以正確地執行。用“//”作為單行注釋標記;用“/*”和“*/”作為多行注釋標記;用“{”和“}”包裝成語句塊?!?/”后面的文字為注釋部分,在代碼執行過程中不起任何作用。
4.變量的生存期
變量的生存期是指變量在計算機中存在的有效時間。全局變量在主程序中定義,其有效范圍從其定義開始,一直到本程序結束為止。局部變量在程序的函數中定義,其有效范圍只在該函數之中。函數結束后,局部變量的生存期也就結束了。
- Visual Basic .NET程序設計(第3版)
- Objective-C Memory Management Essentials
- NLTK基礎教程:用NLTK和Python庫構建機器學習應用
- HTML5+CSS3基礎開發教程(第2版)
- Python機器學習算法與實戰
- C# 8.0核心技術指南(原書第8版)
- 低代碼平臺開發實踐:基于React
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(1)
- Python算法詳解
- 區塊鏈技術進階與實戰(第2版)
- Instant Debian:Build a Web Server
- 網絡數據采集技術:Java網絡爬蟲實戰
- Mastering ASP.NET Core 2.0
- PostgreSQL 12 High Availability Cookbook
- 計算機軟件項目實訓指導