js的数据类型

1、–简单(基本、值)数据类型
NumberStringBoolean
Undefined(变量声明,但未赋值Null
–复杂(引用)数据类型(暂时了解)
ObjectArrayDate

内置对象  例如Date,Array,Math。RegExp,error,

查看当前变量的数据类型 typeof nametypeof(name)
(1)Number类型
十进制
varnum=9;
进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值。
十六进制
varnum=0xA;
数字序列范围:0~9以及A~F
八进制
varnum1=07;  //对应十进制的7
varnum2=019
;//对应十进制的19
varnum3=08;//对应十进制的8
数字序列范围:0~7
如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当作十进制数值解析

浮点数
var n = 5e-324;
浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数
var result= 0.1 + 0.2;// 结果不是0.3,而是:0.30000000000000004
console.log(0.07 * 100);
永远不要测试某个特定的浮点数值(不要判断两个浮点数是否相等)


数字范围

由于内存的限制,ECMAScript并不能保存世界上所有的数值
最小值Number.MIN_VALUE,这个值为:5e-324
最大值Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
数值检测
NaN非数值(Not aNumber
console.log(“abc”/18);  //结果是NaN
NaN与任何值都不相等,包括 NaN 本身
isNaN() :任何不能被转换为数值的值都会导致这个函数返回true
isNaN(NaN);//true
isNaN(“blue”);//true
isNaN(123); //false

(2)String类型

字符串字面量
var name = "zhangsan";   //"zhangsan"字面量
字符串要用引号引起,单引号和双引号的作用是等效的
例如:
varname="zhangsan";
varname='zhangsan';
varname='zhangsan";//错误,单引号和双引号要成对出现
字符串是由一个一个字符组成的,获取一个字符串中字符的个数可以使用length
例如:varname="zs";  alert(name.length);//2


转义符

要想打印"或者'怎么办?
varstr="hello\"itcast\"";  //打印输出hello"itcast"
转义符
js的数据类型

字符串的不可变

ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。
要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
例如:
varstr = "123"; str = str + "abc";


字符串拼接

如果有两个字符串变量a,b,如何把这两个变量的值连接起来?
例如:
vara="hello";
varb="itcast";
varc=a+b;

-思考:

vara=“100";
varb=100;
varc=a-b;  //结果是什么?

(3)Boolean类型

Boolean类型有两个字面量:truefalse,并且区分大小写!
虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都有与这两个Boolean值等价的值
例如:

var result = Boolean("a");

console.log(result); //结果是true

var result = Boolean(100);

console.log(result); //结果是true


转换成Boolean类型

任何类型可以转换成Boolean类型,一般使用在流程控制语句后面
例如:

varmessage="hello";

if(message){  alert(message+"world")  };

js的数据类型

js的数据类型

(4)Undefined类型

Undefined这是一种比较特殊的类型,表示变量未赋值这种类型只有一种值就是undefined
例如:

var message;

console.log(message);  //结果是undefined

undefinedUndefined类型的字面量。
例如:

var message = undefined;

console.log(message);

typeofmessage;获取到的是"undefined"

2、数值字面量
字面量
固定的值,让你从“字面上”理解其含义
数值字面量
var age=18; // 数值字面量,18为字面值