JavaScript 常用数据类型
JavaScript 中常用的数据类型主要有下面几种:
- String(字符串)
- Number(数字)
- Boolean(Boolean)
- Array(数组)
- Object(对象)
JavaScript 语言中变量的值可以是任意类型,因为 JavaScript 是弱类型语言,所以在使用关键字 var
声明变量时,我们可以不用为变量指定数据类型,直接为其赋不同类型的值即可。因为 JavaScript 中不需要关注变量的类型,所以代码会更加简洁,但是也需要更加注意,避免因为变量类型导致错误。
String 类型
字符串是用于存储字符的变量,一般是使用单引号''
或双引号" "
来声明字符串。
示例:
像下面这样,你可以在引号中放入英文、中文、符号、空格等等都行:
var name = 'xkd';
var school = "侠课岛"
我们可以在引号内写入任何内容,但是有一点需要特别注意,单引号中不能写入单引号,双引号中不能写入双引号。
例如下面这样写是错误的:
var name = 'My name is 'xkd''; // 错误写法
var name = "你好, "侠课岛"欢迎你"; // 错误写法
如果某些内容中必须需要使用到引号,可以在单引号中使用双引号,双引号中使用单引号,类似下面这样:
var name = 'My name is "xkd" '; // 正确写法
var name = "你好, '侠课岛'欢迎你"; // 正确写法
Number 类型
如果你学过其他语言,你就会知道有的语言数字类型会分为整型、长整型、浮点型、单精度、双精度等,看起来很复杂的样子。
而在 JavaScript 语言中,就只有一种数字类型number,数字可以带小数点,也可以不带,或者可以使用科学(指数)计数法。
示例:
声明三个不同值的数字类型的变量:
var num1 = 10; // 不使用小数点
var num2 = 6.87; // 使用小数点
var num3 = 157e2; // 科学技术法,表示15700
Boolean 类型
JavaScript 语言中,Boolean 布尔类型只能有两个值,分别是 true 和 false,true
表示真,false
表示假,这个大家应该都知道吧。布尔类型一般用于条件测试中,如果给出的条件不符合,结果就是错的。
示例:
声明两个布尔类型的变量a
、b
,判断变量 a
是否等于 b
:
var a = true;
var b = false;
if (a == b){
console.log("a等于b");
}else{
console.log("a不等于b");
}
// 输出:a不等于b
Array 类型
Array 是数组类型,数组就是使用中括号 []
来声明的数据,例如下面这个变量 my_arr
, 就是一个数组类型的变量:
var my_arr = [1, 2, 3];
每个数组中都可以有任意数量的元素,每个元素之间使用英文逗号,
分隔(注意是英文逗号哟,在写代码时,不管是逗号、分号、引号,全部都是英文的)。数组中的值可以是任意类型的数据,例如数字类型、字符串类型等都可以。
示例:
声明几个不同的数组类型变量:
var my_arr1 = [];
var my_arr2 = [1, 2, 3];
var my_arr3 = ['a', 'b', 'c'];
var my_arr4 = [1, 'a'];
console.log(my_arr1);
console.log(my_arr2);
console.log(my_arr3);
console.log(my_arr4);
输出:
[]
[ 1, 2, 3 ]
[ 'a', 'b', 'c' ]
[ 1, 'a' ]
我们要数组的下标(索引)是从 0 开始的,例如数组中第一个元素的索引是0、第二个是1、第三个是2,依次类推。通过这个规律,我们可以知道上面代码中,变量 my_arr2
的元素1、2、3下标分别对应0、1、2,变量my_arr3
的元素a、b、c 下标分别对应0、1、2。在不熟悉的情况下,你可能很容易出错,所以要特别注意哟。
示例:
我们来看下面这个数组:
var fruits = ['梨子', '草莓', '樱桃', '西瓜', '菠萝', '苹果'];
你能说出西瓜和苹果的索引分别为几吗?
Object 对象
JavaScript 语言中,声明对象类型时可以使用花括号 {}
,而声明列表是使用中括号 []
哟,别搞错啦。
在花括号{}
中,对象的属性以名称和值对(name: value)的形式来定义,属性之间使用逗号分隔。
例如下面是一个定义好的对象 info
:
var info = {name:"xkd", age:20};
在这个对象 info
中,name
和 age
是属性名称, ”xkd“ 和 20 是属性的值。
我们可以通过 对象名.属性名
的方式来获取属性的值:
var info = {name:"xkd", age:20};
console.log(info);
console.log(info.name);
console.log(info.age);
输出:
{ name: 'xkd', age: 20 }
xkd
20
Undefined 和 Null 的区别
Undefined
和 null
都表示空,看起来它们似乎相同,其实两者之间还是存在一些区别的。
null
是一个字面量,表示确缺少的标识,指示变量未指向任何对象。把 null
作为尚未创建的对象,也许更好理解。在 API 中 null
在返回类型中应是一个对象,但是没有关联的值的地方使用。
undefined
表示"缺少值",即此处应该有一个值,但是还没定义。典型的用法是变量被声明了,但没有给变量赋值,就等于undefined。
示例:
var a;
console.log(a); // undefined
var b = null;
console.log(b); // null
在一个函数中,如果应该提供的参数没有提供,该参数等于undefined。
function func(x){
console.log(x)
}
func() // undefined
函数没有返回值时,默认返回undefined。
function func(){}
var a = func();
console.log(a); // undefined
网友评论