数据类型大体分为两类:一个是基本数据类型、一个是引用数据类型;
一、基本数据类型:
基本数据类型我们有六种:String(字符串) Number(数值) boolean(布尔) Null(空值) Undifined(未定义) Symbol
1.String(字符串)
-
在JS中字符串需要使用引号引起来
-
使用单引号或双引号都可以,但是最好不要混用
-
注意引号的嵌套问题
案例:
var els = "<div class=\"box\"></div>"; 注:这里的斜杠是反斜杠“\”;
var els = '<div class="box"></div>';
console.log(els);
控制台打印返还:<div class="box"><div>
2.Number(数值类型)
-
在JS中所有的数值都是Number类型,包括了整数、浮点数(小数)
-
拓展部分:如果使用Number表示的数字超过了最大值,则会返回一个Infinity
Infinity 表示正无穷大
- Infinity 表示负无穷大
案例:
var a = 123.34;
var b = “132.45”;
console.log(a); //这里浏览器返还的是数值类型的123(数值类型浏览器显示的是蓝色的字体)
console.log(b); //这里浏览器返还的是字符串类型的123(字符串类型浏览器显示的是黑色的字体)
3.Boolean(布尔类型)
- 布尔值只有2个,主要用来做逻辑判断
true 表示真
false 表示假
4.Null(空值)
-
Null这个值只有一个,就是null
-
Null这个值专门用来表示一个空对象
注:使用typeof检查一个null值时,会返还一个object(对象);
5.Undefined(未定义)
-
Undefined这个值也是只有一个,‘undefined’
-
声明一个变量但是未给变量赋值时,它的值就是undefined;
var c;
console.log©; //浏览器返还’undefined’
6.Symbol
- Symbol数据类型的作用:一个symbol值能作为对象属性的标识符
- 在通过Symbol生成独一无二的值时可以设置一个标记
这个标记仅仅用于区分, 没有其它任何含义
案例:
https://blog.youkuaiyun.com/darabiuz/article/details/121962153
二、引用数据类型:
引用数据类型只有一种:object(对象)。
以上的数据类型为基本数据类型,以后我们看得到值只要不是以上的6中,都为对象,或者可以用typeof 来检查是否为对象。
7.object(对象)
-
Object对象,我们也称为一个对象。是JavaScript中的引用数据类型。
-
它是一种复合值,它将很多值聚合到一起,可以通过名字访问这些值
-
对象也可以看做是属性的无序集合,每个属性都是一个键/值对。
-
对象除了可以创建自有属性,还可以通过从一个名为原型的对象那里 继承属性。
在javascript中的对象分为三种:内置对象、宿主对象和自定义对象。
1、内置对象:由ECMAScript提供的,不依赖于宿主环境对象,这些对象在程序执行前就已经存在了。即无论在何种环境中都存在内置对象。由ES标准中定义的对象,在任何ES的实现中都可以使用。
javascript中的内置对象有:
Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各种错误类对象,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError。
其中Global和Math对象又被称为单体内置对象,不需要实例化的,事实上,在内置对象里除了Global和Math,其他均为构造对象,即可以用new 实例化。
2.宿主对象
宿主对象就是执行JS脚本的环境提供的对象。对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,所以又称为浏览器对象,如IE、Firefox等浏览器提供的对象。不同的浏览器提供的宿主对象可能不同,即使提供的对象相同,其实现方式也大相径庭!这会带来浏览器兼容问题,增加开发难度。
浏览器对象有很多,如Window和Documen,Element,form,image,等等。
在浏览器中window是全局对象,相当于Global在浏览器环境中变成了window。
比如:BOM(浏览器对象模型) DOM(文档对象模型)
例如 我们常用的console.log() 就是DOM 中的对象
3.自定义对象
顾名思义,就是开发人员自己定义的对象。JS允许使用自定义对象,使JS应用及功能得到扩充