当我们使用JavaScript编程时,变量是必不可少的元素。变量是用来储存数据的一种容器,包括数字、字符串、布尔值或其他数据类型等。在JavaScript中,变量需要先定义再使用,同时也需要注意变量的作用域。
在JavaScript中定义变量需要使用关键字var
、let
或const
。其中,var
和let
是用来定义可修改的变量,而const
用来定义常量,不能被修改。
定义变量的格式如下:
var/let/const 变量名 = 初始值;
其中,var
和let
可以不指定初始值,此时变量的值会默认为undefined
。而使用const
定义常量时必须要指定初始值。
变量定义的示例代码如下:
var num = 5;
let str = 'hello world';
const PI = 3.1415926;
JavaScript中的变量作用域有全局作用域和局部作用域之分。全局作用域中的变量可以被程序中任何地方访问,而局部作用域中的变量只能在定义它们的代码块中访问。
在函数内部定义的变量只能在当前函数内部访问,而在函数外部定义的变量可以被所有函数访问。
变量作用域示例代码如下:
var globalVar = 'This is a global variable';
function localScope() {
var localVar = 'This is a local variable';
console.log(localVar);
}
localScope();
console.log(globalVar);
console.log(localVar); // 报错,localVar不在全局作用域
在JavaScript中,数字、布尔值和字符串等简单类型的变量的值是直接存储在变量中的,而复杂类型的变量(对象、数组等)则是存储在堆内存中的。当变量作为函数参数传递时,函数会将传递进来的简单类型的值拷贝一份,而不是实际的引用地址。而对于复杂类型,函数传递的是对堆内存的引用,也就是说函数内部修改的是原始变量的值。
变量储存介绍的示例代码如下:
var num1 = 5;
var num2 = num1;
num1++;
console.log(num1); // 6
console.log(num2); // 5
function changeArray(arr) {
arr[0] = 2;
}
var array1 = [1, 2, 3];
changeArray(array1);
console.log(array1); // [2, 2, 3]
以上就是JavaScript中的变量定义与储存介绍的完整攻略。