JavaScript基本类型
JavaScript的基本类型包括:数字(number)、字符串(string)、布尔值(boolean)、null、undefined。
数字可以是整数,也可以是浮点数,使用数字类型的值可以进行加减乘除等运算,例如:
var a = 10; var b = 20; var c = a + b; // c的值为30
字符串是用单引号或双引号括起来的一串字符,例如:
var str1 = 'This is a string.'; var str2 = "This is also a string.";
布尔值只有true和false两种值,用于表示真假的逻辑值,例如:
var flag = true; if (flag) { console.log('flag is true'); }
null表示一个空值,它和undefined的区别在于null表示“空”,而undefined表示“未定义”。例如:
var num1 = null; var num2; console.log(num1); // null console.log(num2); // undefined
JavaScript引用类型
JavaScript的引用类型包括:对象(object)、数组(array)、函数(function)。
对象是由一组键值对组成的,例如:
var obj = { name: 'John', age: 20 };
数组是一种特殊的对象,它由一组有序的值组成,例如:
var arr = [1, 2, 3];
函数是一段可以被调用的代码块,它可以接受参数,并返回一个值,例如:
function add(a, b) { return a + b; } var result = add(1, 2); // result的值为3
简单赋值对象引用
JavaScript中的变量是引用类型,当给一个变量赋值时,实际上是将变量的值(也就是内存地址)复制给另一个变量,两个变量指向同一个对象,例如:
var a = { name: 'John' }; var b = a; console.log(b.name); // 'John'
此时,a和b都指向同一个对象,如果改变b的值,a的值也会跟着改变,例如:
b.name = 'Tom'; console.log(a.name); // 'Tom'
当我们想要复制一个对象时,要小心不要只是简单的复制变量,而是要创建一个新的对象,例如:
var a = { name: 'John' }; var b = Object.assign({}, a); b.name = 'Tom'; console.log(a.name); // 'John'