Javascript学习笔记——数据类型

数据类型

包括简单数据类型和复杂数据类型(对象)。

通过控制台颜色判断数据类型

数字:蓝色

字符串:黑色

布尔类型:蓝色

undefined和null:灰色

数字类型

八进制:数字以0开头表示八进制,例如var x = 01;,此时,x表示十进制的10。

十六进制:数字以0x开头。例如0xa或者0xA

数字类型的最大值和最小值:

最大值 最小值
Number.MAX_VALUE 1.7976931348623157e+308
Number.MIN_VALUE 5e-324

特殊数据类型

数据类型 含义
Infinity 代表无穷大,大于任何数值
-Infinity 代表无穷小,小于任何数值
NaN Not a number,代表一个非数值

isNan()函数,用来判断一个变量是否为非数字的类型,返回true 或者false

字符串

转义字符

转义符 解释说明
\n 换行符,n是newline的意思
\ 斜杠\
\' ''单引号
\" "双引号
\t tab缩进
\b 空格,b是blank的意思

字符串长度:s.length,一个中文字符占1长度。

字符串拼接:字符串+任何类型=拼接之后的新字符串

字符串的不可变性

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。由此,应尽量避免字符串的拼接。

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

不同数据类型的运算

布尔型和其他类型相加减时充当0或1。

字符串型和任何类型相加都是字符串型。

未定义型和数字相加结果是NaN。

null和数字相加结果是原数字。

检测数据类型

typeof

typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。返回值是一个字符串,该字符串说明运算数的类型。

typeof 一般只能返回如下几个结果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

instanceof

instanceof 用于判断一个变量是否是某个对象的实例。

var arr = [];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false

数据类型转换

转换成字符串

方式 说明 案例
toString() 转成字符串 var num=1; alert(num.toString());
String() 强制转换转成字符串 var num=1; alert(String(num));
加号拼接字符串(隐式转换) 和字符串拼接的结果都是字符串 var num=1; alert(num+"”);

转换成数字型

方式 说明 案例
parselnt(string)函数 将string类型转成整数数值型 parseInt('78')
parseFloat(string)函数 将string类型转成浮点数数值型 parseFloat('78.21')
Number()强制转换函数 将string类型转换为数值型 Number(12)
js隐式转换(- * /) 利用算术运算隐式转换为数值型 '12' - '10' = 2

parseInt()和parseFloat()会自动删除数字后面的字符串。

转换成布尔型

方式 说明 案例
Boolean() 函数其他类型转成布尔值 Boolean('true');

代表空、否定的值会被转换为false,如''、0、NaN、null、undefined

其余值都会被转换为true

console.log(Boolean('')); //false
console.log(Boolean(0)); //false
console.log(Boolean(NaN)); //false
console.log(Boolean(null)); //false
console.log(Boolean(undefined)); //false

console.log(Boolean('小白')); //true
console.log(Boolean(12)); //true

标识符、关键字、保留字

标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字。
标识符不能是关键字或保留字。

关键字:是指JS本身已经使用了的字,不能再用它们充当变量名、方法名。
包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with等。

保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。.
包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、publicshort、static、super、synchronized、throws、transient。

posted @ 2022-01-03 16:29  垆边画船听雨眠  阅读(87)  评论(0)    收藏  举报