下文笔者讲述JavaScript数据类型简介说明,如下所示
数据类型的功能
数据类型:
用于指定程序中存储和操作值的类型
不同数据类型中可存储不同的数据类型
如:
文本、数值、图像等
注意事项:
JavaScript作为一种动态语言
定义变量时可不指定数据类型,运行时会自动确认数据类型
例
var a; //a为Undefined
a = "https://www.linux28.com/"; //a为String 类型
a = 123; //a为Number类型
JavaScript数据类型分类
基本数据类型(值类型):
字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol
引用数据类型:
对象(Object)、数组(Array)、函数(Function)
注意事项:
Symbol是ECMAScript6中引入的一种新的数据类型
指:
独一无二的值
如何判断数据类型
JavaScript中检测数据类型,此时我们想到了一个操作符
那就是typeof操作符
typeof操作符简介:
typeof操作符的功能用于返回变量的数据类型
typeof操作符语法:
typeof x; //返回变量x数据类型
typeof(x); //返回变量x数据类型
JS基本数据类型
String 类型
字符串(String)类型:
可使用单引号''或双引号""包含
如:
'888'、"linux28.com"
此时即设置了一个变量的值为单引号或双引号中的值
字符串赋值注意事项:
当字符串中包含引号(如括起来的引号相同的引号)
此时需借助“反斜杠\来转义字符串中的引号”
例:
var str = "Let's love linux28."; // 双引号中包含单引号
var str = '我爱 "Java" 你呢?'; // 单引号中包含双引号
var str = '爱\'linux28.com.'; // 使用反斜杠转义字符串中的单引号
Number 类型
数值(Number)类型用来定义数值
JavaScript中不区分整数和小数(浮点数)
统一使用Number类型表示
例:
var num1 = 888; // 整数
var num2 = 8.23; // 浮点数
Number定义数值注意事项:
1.Number定义的数值有数据范围限制
Number只能表示“负2的53次方减一” 到 “2的53次方减1”之间的数值
2.当出现极大数值时,可以使用一些特殊值表示
如:
Infinity:
表示正无穷大的数值
一般指大于 1.7976931348623157e+308 的数;
-Infinity:
表示负无穷大的数值
一般指小于 5e-324 的数;
3.NaN(非数值Not a Number) 表示无效的数字
Boolean 类型
布尔(Boolean)类型只有两个值:
1.true(真)
2.false(假)
布尔类型常用于值判断
例:
var a = true; // 定义一个布尔值 true
var b = false; // 定义一个布尔值 false
var c = 2 > 1; // 表达式 2 > 1 成立,其结果为“真(true)”,所以 c 的值为布尔类型的 true
var d = 2 < 1; // 表达式 2 < 1 不成立,其结果为“假(false)”,所以 c 的值为布尔类型的 false
Null 类型
Null是一个只有一个值的特殊数据类型
即表示空值,不存在任何值,常用于定义空对象指针
注意事项:
typeof(null)可以看出其结果为Object
Undefined 类型
Undefined是一个只有一个值的特殊数据类型
当我们声明一个变量但未给变量赋值时
这个变量的默认值就是 Undefined
例
var a;
console.log(a); // 输出 undefined
typeof(a) 会返回undefined
var m;
console.log(typeof m); // 输出 undefined
console.log(typeof t); // 输出 undefined
Symbol 类型
Symbol是ECMAScript6中引入一种新的数据类型
指独一无二的值
Symbol类型的值需要使用Symbol()函数来生成
例
var str = "888";
var sym1 = Symbol(str);
var sym2 = Symbol(str);
console.log(sym1); // 输出 Symbol(123)
console.log(sym2); // 输出 Symbol(123)
console.log(sym1 == sym2);
// 输出 false
// 虽然 sym1 与 sym2 看起来是相同
// 但实际上它们并不一样
// 根据 Symbol 类型的特点
// sym1 和 sym2 都是独一无二的
JS引用数据类型
Object 类型
JavaScript中的对象(Object)类型
是一组由键、值组成的无序集合
定义对象类型需要使用花括号{ }
如:
{name1: value1, name2: value2, name3: value3, ..., nameN: valueN}
name1、name2、name3、...、nameN:
为对象中的键
value1、value2、value3、...、valueN:
为对应的值
例2:对象类型定义示例
var person = {
name: 'maomao',
age: 18,
tags: ['js', 'python', 'java'],
city: 'ShenZhen',
hasCar: true,
zipcode: null
};
console.log(person.name); // 输出 maomao
console.log(person.age); // 输出 18
Array 类型
数组(Array):
指一组按顺序排列的数据的集合
数组中的每个值都称为元素
且数组中可以包含任意类型的数据
在JavaScript中定义数组需要使用方括号[ ]
数组中的每个元素使用逗号进行分隔
如
//定义方式1
var arr =[88, 2, 3, 'python', true, null]
//定义方式2
var arr = new Array(88, 2, 3, 4);
console.log(arr); // 输出 [88, 2, 3, 4]
//访问数组的方式
var arr = [88, 2, 3.14, 'Python', null, true];
console.log(arr[0]); // 输出索引为 0 的元素,即 8
console.log(arr[5]); // 输出索引为 5 的元素,即 true
console.log(arr[6]); // 索引超出了范围,返回 undefined
Function 类型
函数(Function)
是一段具有特定功能的代码块
函数并不会自动运行
使用函数名调用才能运行
例:
function sayHello(name){
return "Hello, " + name;
}
var res = sayHello("Maomao");
console.log(res); // 输出 Hello, Maomao
例2:
var fun = function(){
console.log("https://www.linux28.com/js/");
}
function createGreeting(name){
return "Hello, " + name;
}
function displayGreeting(greetingFunction, userName){
return greetingFunction(userName);
}
var result = displayGreeting(createGreeting, "Maomao");
console.log(result); // 输出 Hello, Maomao