javascript里面的数据类型都有哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript里面的数据类型都有哪些相关的知识,希望对你有一定的参考价值。
我们先来认识下javascript中的数据类型。JavaScript是弱类型语言,开始的时候并不知道变量时什么类型,必须通过存储的具体的值才能判断变量的类型。
JavaScript的数据类型分为基本数据类型和复杂数据类型。其中,基本数据类型: Number(数字),String(字符串),Boolean(布尔),Undefined(未定义),Null(空);复杂(引用)数据类型: Object(对象), Array(数组), Function(函数)。我们可以使用typeof操作符检查变量的类型,语法为typeof(变量)/typeof 变量,typeof返回值: number, string, boolean, undefined, object, function。今天我们来认识下JavaScript中的基本数据类型。
首先,我们来认识下Number类型。number类型就是数字类型,主要用于存储数据,参与数学运算。number类型包括 整数,小数,正数,负数,各种进制的数字和特殊数字。我们通过下面的代码来认识下number类型:
// 1.1 普通整数和小数
var num1 = 10;
var num2 = 2.5; console.log(typeof(num1), typeof num2);
// 1.2 负值
var num3 = -0.2;
console.log(num3, typeof num3);
// 1.3 八进制,以 0 开头并且没有超过 8 的值,则为 8 进制
var num4 = 070;
console.log(num4, typeof num4); // 56 number
// 1.4 十六进制,0x 开头,则为 16 进制
var num5 = 0x10;
console.log(num5, typeof num5); //15 number
除了上面的number类型,JavaScript中还有一些特殊的数字类型:
1、NaN: not a number,算术运算不能得到正常数字时会返回NaN,NaN不和NaN相等。
2、Infinity: 无穷大。
3、e: 10的次幂 1e9代表1乘以10的9次幂
4、小数相加会有误差
//1.1 NaN not a number 算术运算不能得到正常数字都会返回 NaN var num5 = ‘a’ - 5;
console.log(num5, typeof num5); // NaN number
// 1.2 无穷大
var num6 = 1 / 0;
console.log(num6, typeof num6); // Infinity number
// 1.3 小数相加 会有一点偏差
console.log(0.1+0.2); // 0.30000000000000004
接下来,我们来认识下String类型,string类型就是字符串类型,是用引号引起来的内容,单引号和双引号都可以, 例如:“web”, ‘web’。字符串有一个常用属性length,用来表示字符串的长度,字符串中的任意字符都占字符串的一个长度,字符串也可以通过charAt(下标)方法来获取对应下标的字符,需要注意的是,字符串中下标是从0开始的,除了charAt()方法外,也可以使用字符串加中括号的形式获取对应下标的字符。
var str1 = ‘abc’;
var str2 = “123”;
console.log(typeof str1,typeof str2); //string string
console.log(str1.charAt(0)); // a
console.log(str1[0]]); // a
此外,所有我们从 input 表单中获取的用户输入的内容都是字符串,哪怕输入的是数字。例如下面的例子。
<input type="text" id="oIn">
<button id="oBut">输出内容</button>
oBut.onclick = function ()
var value = oIn.value;
console.log(typeof value); // string
接下来,我们来认识下Boolean类型。Boolean: 布尔类型, 只有真和假,也就是true/false。
var bool1 = true;
var bool2 = false;
console.log(typeof bool1, typeof bool2); // boolean boolean
console.log(10 > 20); //false
if(10 > 20) // if 的小括号里面,会自动转换成 boolean 类型
alert(true)
;
除了通过比较能得到 Boolean 的值以外,还有一个口诀来判断条件是否为真:非 0 为真,非空为真”。即 0 为假,其他数字为真,空字符串为假,其他为真。
最后,我们来认识下null和undefined。null表示值为空,undefined表示变量没有初始化(声明未赋值),值的空缺。null表示空对象,使用typeof操作符得到的“object”。undefined:undefined类型,当声明变量未赋值时,变量的值就是undefined,类型也是undefined。
var a = null;
console.log(a); // null
console.log(typeof a); // object
// var b = undefined;
var b;
console.log(b); // undefined
console.log(typeof b); // undefined
字符
数字
布尔
对象
null
undefined
二、其中对象数据类型常用的又有:
数组
函数
正则表达式
日期
普通意义的数组
注:ES6 又新增了第七种 Symbol 类型本回答被提问者采纳
以上是关于javascript里面的数据类型都有哪些的主要内容,如果未能解决你的问题,请参考以下文章