这里记录一些JavaScript中的基础知识
【注】JavaScript的底层是用Unicode编写的,所以utf-8中的字符都可以用作JavaScript中的标识符,中文也可以使用,但是一般不会这样使用
JavaScript的数据类型
1. String
两个字符串相乘,结果是NaN,其含义是【not a number】,NaN的类型也是Number
2. Number
- 在JavaScript中
Number.MAX_VALUE会有一个值【1.7976931348623157e+308】,超过这个值得时候输出他的时候,会显示【Infinity】,其类型也是Number
Number.MIN_VALUE=【5e-324】- JavaScript中进行浮点运算,可能会得到一个不精确地结果,不要用JavaScript进行一些精度要求比较高的运算
3. Boolean
只有【true】和【false】两个值
4. Null
当一个变量的值为【null】时,那么他的类型时object
5. Undefined
6. Object
1-5是基本数据类型,6是引用数据类型
【注】:在" “中不能出现双引号,如果想要在” "中出现双引号,可以在引号前加【\】,如下:
代码
var a = "小明说:\"你看我的双引号可以出来了\"";
console.log(a);
输出:
JavaScript中其他类型转换为String类型的方法
方法一
var a = 123;
var b = a.toString();
每一个类型都会有一个toString方法,但是这个方法并不会让变量本身的类型改变,而是会有一个返回值,若果我们想要改变变量【a】的类型,我们可以:
var a = 123;
a = a.toString();
但是【null】和【undefined】没有toString方法
方法二
使用String()函数转换类型,如
var a = null;
a = String(a);
//对于Number和Boolean实际上是调用toString(),对于null和undefined
直接转换为字符串
JavaScript中转换为Number的方法,
方法一
使用Number()函数
- 字符串转换为数字
1. 如果是纯数字的字符串,则直接转换为数字
2. 如果有非数字的字符,则转换为NaN
3. 如果字符串是空串,或者全是空格,则转换为0 - 布尔转数字
【true】转为【1】,【false】转为【0】 - Null转为数字变成0
- undefined转为数字变成NaN
方法二
专门用于转换字符串
- parseInt()方法:可以将一个字符串中的有效数字转换为整数
- parseFloat()方法:~
- 对非String类型的变量使用parseInt() 方法,会使变量先转化为String类型,在进行转换
进制问题
十六进制:0x123
八进制:070
二进制0b10
希望转换成其他进制转换的时候可以使用parseInt(a,16)
其他类型转换为Boolean类型
- 数字类型,0和NaN均为false,其余均为true
- 字符串,除了空串均为true
- null,undefined均为false
- 对象也会转换为true
关于运算符的知识点
- 任何类型的变量和字符型变量相加,都换先转换为字符型,然后进行拼接
- 但是任何类型的非加法运算,都会先转换为数字类型再进行计算
- NaN和任意类型的非加法运算法都为NaN
关于Unicode的知识点
输出unicode,如下:
console.log('\u2620')
//就是在十六进制编码的钱吗加【\u】
在网页中使用unicode,【&#编码;】的形式,这里需要的编码是十进制的
关系运算符知识点
- NaN和任何值做【==】运算都是false,判断一个变量是否为NaN时,可以调用isNaN()函数来判断
- boolean和字符串类型做【==】运算时,将两者都转换为数字再比较
- undefined和null比较为true
- 【===】不会做类型的转换