JS中的数据类型
一、数据类型概述
在了解数据类型的时候不知道大家有没有想过,
为什么需要区分数据类型:
答:为了更加合理使用内存空间,基本上所有的编程语言中都提出数据类型的概念,研究针对不同的数据,分配不同的空间。
js的数据类型有几种呢?
一般情况下大家都习惯把数据类型分为如下两大类:(其部分数据种类如下)
- 基本数据的类型:
number 数字 var a = 110; int a = 110;
string 字符串 使用”“ ‘’包起来 JS中不分字符和字符串 都叫字符串
boolean true false 布尔类型
undefiend 没有定义值为何种类型
null 值为空var a=null
- 引用数据类型:
object 对象
array 数组
function 函数 在JS中函数也是一种数据类型
二、JS中的数据类型详述
1、基本数据类型
1)number数据类型
- 1)number是一个数据类型,这个数据类型对应的值有无+ 个。
- 2)在JS中number数据类型是不分整数和小数 都是number
- 3)可以通过typeof查看一个变量值的数据类型
var c=3;console.log(typeof(c))
- 4)最大值 (使用number.max_value查看) 和 最小值(使用 number.min_value查看)
console.log(Number.MAX_VALUE);console.log(Number.MIN_VALUE)
- 5)number可以通过不同进制显示
进制 10进制 2进制(以0b开头) 16进制(以0x开头) 8进制(以00开头) - 6)NaN Not a Number 不是一个数字
- 7)JS中不要对小数运算,要运算需要先转成整数,不然得到的结果往往不对。
在JS中,说到数据类型,主要指变量值的数据类型。
typeof是运算符 + - * / 都是运算符
Number叫类,也叫构造器,也叫函数
2)string数据类型
- 1、js中string的书写要点:
1)在JS中 使用‘’ “”把字符串包起来 不包 JS会给它当成变量
2)单引号不要嵌套单引号 双引号不要嵌套双引号 外单内双 外双内单
- 2、string数据类型对应的数据有无数个
- 3、 SyntaxError表示语法错误
3)boolean数据类型
- 1)boolean数据类型对应的值就两个 true false
- 2)true 和 True 不一样的 JS是区分大小写的
用法例如var b = true;console.log(b);console.log(typeof b);
4)undefined数据类型
1)undefiend是一个数据类型,这种数据类型对应的值是undefiend
2)什么时候会出现undeined?
答:一个变量没有赋值 它的值是undefiend 这个值的类型是undefiend
eg:var a;console.log(a); console.log(typeof a);
三、JS中的数据类型转化
1)数据类型转化方式:
- 隐式类型转化:静悄悄地,不知不觉地就进行了类型转化
- 强制类型转化:写代码进行转化
在JS中,下面的值可以转成false,其它值都转成true:
0 -0
“”
undefiend
null
NaN
- 前提:在JS中,运算符两侧需要保存数据类型一致,如果不一致,JS解释器会帮你把一个数据类型转成另一个数据类型。
1、隐式类型转化
- 叫运算符 123操作数 "abc"也叫操作数
一个运算符如果有两个操作数,这个运算符叫二元运算符,也叫二目运算符,还叫双目运算符
常见的双目运算符有:+ - =- 如果一个运算符只有一个操作数,这个运算符叫一元,单目运算符
常见的有:typeof ++ --- if后面的小()里面要么放true 要么放false
if后面小()里面放了一非布尔类型的值,会进行隐式类型转化
console.log(String(123456)) // 123456*/
2、强制类型转化
console.log(parseInt(3.14)); // 把小数转成整数
console.log(parseInt("3.14abc")); // 尝试把小数或非数字转成整数
console.log(parseFloat(3))
console.log(parseFloat("3.14abc"))
console.log(Number("abc123")) // NaN
console.log(Number("123abc")) // NaN
console.log(Number("123")) // 123
console.log(String(123456)) // 123456*/