JS中数据类型分为两大类:①简单数据类型 ②复杂数据类型
①简单数据类型 :简单来说就是 基本数据类型
包含:number、string、boolean、null、undefined
number:数字(123 456.789等)看到值就知道是什么类型
string:字符串( 'a' "1234"等)由 " " 或 ' ' 包裹的
boolean:布尔值 true 真 、false 假
null:值就是空的、undefined:是一个变量,并未对其赋值 但二者都表示为空
②复杂数据类型 :就是引用数据类型
包含:object 对象、function 方法、函数、arr数组
以下列举一些例子:
一、num 中
Infinity是无限大 -Infinity是无限小
NaN 在尝试转换成数字的时候出现,但表示未转换成功(not a number)。例如,当想把a转换成数字但转不过去,就会出现NaN。NaN不是一个数字,但核心类型还是数字。
console.log(typeof(NaN));
页面控制台打印出结果:
当想让其打印结果输出为布尔值时:123 is not a number = false
console.log(isNaN(123));
页面控制台打印出结果:
注意:使用isNaN的时候,如果传入的是纯数字字符串("123"),也看成是数字123。
二、字符串(str)
console.log('a');
console.log("a");
以上两行代码页面打印结果都为 a
①字符串拥有不可变性:
var str = "abc"
console.log(str[1]);
console.log(str.length);
console.log(str);
打印结果为:
但当我们在打印前利用索引值将其中一个字母变换
str[1]="m"
打印结果还是不会变。
②字符串的转译
斜线有两种 / \ \ 为转译字符,若想后面的字符完整输出,在前面加一个 \ 。
var newStr = "abc\\\"ndef";
console.log(newStr);
打印结果为:
注意:当两个 \ \ 连在一起了,后面的 \ 就不好使了,当成纯字符串输出 \ 。
练习:
var str = '我爱中国"\\"';
输出结果是什么?大家可以练习一下,答案在文章最后。
③字符串的拼接
var text = str + newStr
console.log(text);
打印结果为:
三、布尔值(true、false)
简单定义:
var f = true
console.log(f);
(后续会详细写)
四、null 和 undefined
== 相等判断 === 全等判断
console.log(null == undefined);
console.log(null === undefined);
console.log(typeof null);
console.log(typeof undefined);
举例说明:
var a;
console.log(a);
结果为:
在JavaScript中,当你声明一个变量 a 但未对其赋值时,该变量的值是undefined。这是因为undefined在JavaScript中是一个预定义的值,表示一个声明了但没有被赋值的变量,或者一个函数没有返回值时的默认返回值。
如果你想要变量a的初始值是null,你必须明确地给它赋值为null,如下所示:
var a = null;
console.log(a); // 输出 null
在这里,null是一个表示“空”或“不存在的对象”的值,它是一个字面量,不同于undefined。当你将变量显式地设置为null时,它就不再具有undefined值。
练习题:
var str = '我爱中国"\\"';
输出结果为: