JavaScript共有如下六种基本数据类型
1、Undefined
undefined类型只有一个值,即undefined。未初始化的变量,都是undefined类型。
<script type="text/javascript">
/*
* Null(空值)类型的值只有一个,就是null
* null这个值专门用来表示一个为空的对象
*
* Undefined(未定义)类型的值只有一个,就undefind
* 当声明一个变量,但是并不给变量赋值时,它的值就是undefined
*/
var a = null;
var b = undefined;
</script>
2、Null
null表示一个空对象指针,如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。
3、Boolean
布尔表示一个逻辑实体,可以有两个值:true 和 false。
<script type="text/javascript">
/*
* Boolean 布尔值
* 布尔值只有两个,主要用来做逻辑判断
* true
* - 表示真
* false
* - 表示假
*/
var bool = false;
console.log(bool);
</script>
4、Number
根据 ECMAScript 标准,JavaScript 中只有一种数字类型:基于 IEEE 754 标准的双精度数值。在其他编程语言中,有不同的数字类型存在,比如:整型,单精度浮点型,双精度浮点型等。但在javascript中只有Number类型,表示整数或者浮点数
Number类型中还有几个特殊的值:+Infinity,-Infinity 和 NaN (非数值,Not-a-Number)
<script type="text/javascript">
/*
* 在JS中所有的数值都是Number类型,
* 包括整数和浮点数(小数)
*
* JS中可以表示的数字的最大值
* Number.MAX_VALUE
* 1.7976931348623157e+308
*
* Number.MIN_VALUE 大于0的最小值
* 5e-324
*
* 如果使用Number表示的数字超过了最大值,则会返回一个
* Infinity 表示正无穷
* -Infinity 表示负无穷
* 使用typeof检查Infinity也会返回number
* NaN 是一个特殊的数字,表示Not A Number
* 使用typeof检查一个NaN也会返回number
*/
//数字123
var a = 123;
a = Number.MAX_VALUE * Number.MAX_VALUE;
a = -Number.MAX_VALUE * Number.MAX_VALUE;
console.log(a)//Infinity
a = Infinity;
a = "a"*"b";
console.log(a)//NaN
a = NaN;
a = Number.MIN_VALUE;
console.log(a)//5e-324 大于0的最小值
/*
* 在JS中整数的运算基本可以保证精确
*/
var c = 1865789 + 7654321;
/*
* 如果使用JS进行浮点运算,可能得到一个不精确的结果
* 所以千万不要使用JS进行对精确度要求比较高的运算
*/
var c = 0.1 + 0.2;
console.log(c);
</script>
5、String
JavaScript的字符串类型用于表示文本数据。
文本必须以双引号或单引号包围
<script type="text/javascript">
/*
* 数据类型指的就是字面量的类型
* 在JS中一共有六种数据类型
* String 字符串
* Number 数值
* Boolean 布尔值
* Null 空值
* Undefined 未定义
* Object 对象
*
* 其中String Number Boolean Null Undefined属于基本数据类型
* 而Object属于引用数据类型
*/
/*
* String字符串
* - 在JS中字符串需要使用引号引起来
* - 使用双引号或单引号都可以,但是不要混着用
* - 引号不能嵌套,双引号不能放双引号,单引号不能放单引号
*/
var str = 'hello';
str = '我说:"今天天气真不错!"';
/*
在字符串中我们可以使用\作为转义字符,
当表示一些特殊符号时可以使用\进行转义
\" 表示 "
\' 表示 '
\n 表示换行
\t 制表符
\\ 表示\
* */
str = "我说:\"今天\t天气真不错!\"";
str = "\\\\\\";
console.log(str);
</script>
6、Symbol
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript 语言的第七种数据类型。
该类型的性质在于这个类型的值可以用来创建匿名的对象属性。该数据类型的值通常被用作一个对象属性的键, symbol 类型的键存在于各种内置的 JavaScript 对象中.
在 JavaScript 运行时环境中,symbol类型的值可以通过调用函数 Symbol() 创建。这个函数动态地生成了一个匿名,唯一的值。
<script>
var sym1 = Symbol("foo");
var sym2 = Symbol("bar");
console.log(typeof sym1,sym1);
console.log(sym1 === sym2,sym1,sym2);
var eat = Symbol("eat");
var obj ={
name:"damu",
wife:"zdy",
[eat]:function () {
console.log("eat")
}
}
console.log(obj[eat]())
</script>