JavaScript数据类型

113 阅读2分钟

数据类型

分类: typeof方法输出类型
基本数据类型:number/string/boolean/undefined

1、Boolean(‘') == false

2、Boolean(false/null/NaN/undefined) == false

3、Boolean(0) == false

4、除此之外都为true

5、undefined + '' == 'undefined',除此之外都是NaN

引用数据类型:object/function/Array
number存储方式:
let num1 = 0.1;
console.log(0.1+0.2) = 0.30000000000004
方法一:可以采用转换整数运算,结果再除以扩大倍数
方法二:
泰勒展开逼近二进制无法精确表达的数。(尤其小数)
JS最大整数:Number.MAX_SAFE_INTEGER=9007199254740991
精确到小数点几位数,并转为字符串:
(number).toFixed(位数)
转义:转义符:/

方法一:转义字符

let x = 'It's alright';
let y = "He is called "Johnny"";

方法二:单双引号的配合使用

let x = "It'"'s alright";
let y = "He is called '"'Johnny'"'";

\

模板字符串

传统模式:

console.log("string"+let+"string+....")

模板字符串

console.log(`string${let}string`)
console.log()``
String方法:
一、分割字符串

string.split("间隔字符") 将字符串转换为字符类型数组,返回转换成功的数组

二、大小写转换

toLowerCase() ,返回被修改后的字符串

toUpperCase() ,返回被修改后的字符串

三、查找索引

indexOf() ,返回第一次出现位置,失败返回 -1

四、提取字符片段

substr(index,howmany) : 返回从指定下标开始指定长度的的子字符串,长度默认length

substring(start,end) :返回从开始到结束的子字符串

复合类型变量运算:

1、number+string = string;

2、null为object类

3、boolean运算会转换为number计算,结果也为number

4、不加“ ”的空格会自动忽略,“ ”视为一个string

5、加了string的运算都会强转换为string计算

声明语法

let:

目的为了解决var缺陷的方案

var:

一、可以先使用再声明
二、可以重名声明,导致数据覆盖错误、
三、变量提升

const:

常量声明
布尔类型:Boolean
true=1,false=0;
未定义数据:undefined
undefined一般用于调用接口的返回 判断数据

复杂引用数据类型

数据数组类

Array声明
let 数组名 = [item1,item2,...]
//可以存储任意类型数据
未声明直接赋值:

危险操作,数据直接在window对象中定义

空值

已赋值,但为空,把null作为尚未创建的对象

值未null

类型转换

一、隐式转换

+号运算含有string,即全转未string
+号作为正号解析,前置与其他类型数据时,转为数字类型

PS:

1、+adc不可以转为number,其结果会为NaN 2、等号右边从左到右顺序执行

3、

二、显式转换

Number(item),要求其为数字否则返回NaN,Number(NaN)==NaN,
parseInt(item),舍去小数与字母(要求数字开头)
不符合要求返回NaN
parseFloat(item),一般过滤px小数点
返回情况如上
String(数据)转换
item.toString(进制)

PS:1、非number值转number得到的结果:NaN

2、当非number转型判断的方法