不会还有人不认识js吧【狗头】

95 阅读3分钟

JS的组成是由ECMAJavascript,DOM,BOM组成

DOM文档对象模型

BOM浏览器对象模型

\

JS数据类型

Number 数字类型

不区分整数、浮点数(非整数)、特殊值,都是Number类型

String 字符串类型

undefined 类型

undefined 本身就是一个数据,表示未定义,变量只声明不赋值的时候,值默认的就是undefined

Boolean 布尔类型

Boolean:只有true,false 两个,必须是小写

计算机内部存储:true为 1 ,false为 0

null 类型

null本身就是一个数据,从逻辑角度,null值表示一个空对象指针

如果定义的变量准备在将来使用,最好该变量初始值为null

Object 对象类型 (复杂数据类型 / 引用数据类型)

\

面试题:

null类型就是null,之所以typeof会检测出object类型,是typeof的问题,与null的类型无关

解决方法, 使用object.prototype.toString.call(null)

var a = null

        console.log(Object.prototype.toString.call(a))

\

数据类型检测

为什么要检测数据类型?

JS语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是随着内部存储数据的变化而变化(数据类型的变化)

变量的数据类型,与内部存储数据有关

将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错

\

\

使用typeof的方法进行数据检测

检测方法:在typeof后面加小括号执行,将要检测的数据放在小括号内部

\

\

不看这个

数据类型的转换:

转数值:

Number数字类型转换方法

转型函数Number()可以用于任何数据类型,将其他数据类型转为数字

字符串:纯数字字符串转为对应数字,空字符串和空白字符串撰文0,非空非纯数字字符串转为NaN

布尔值:true转为 1 ,false转为 0

undefined:转为NaN

null:转为0

parseInt()方法,字符串转转化整数

parseFloat()方法,字符串转化小数

\

\

其他数据类型转成数值

1.Number(变量)

可以把一个变量强制转换成数值类型

可以转换小数,会保留小数

可以转换布尔值

遇到不可转换的都会返回NaN

2.parseInt(变量)

从第一位开始检查,是数字就转换,直到一个不是数字的内容

开头就不是数字,那直接会返回NaN

不认识小数点,只会保留整数

3.ParseFloat(变量)

从第一位开始检查,是数字就转换,直到一个不是数字的内容

开头就不是数字,那么直接返回NaN

认识一次小数点,会保留小数

扩展:4.除了加法意外的数学运算

运算符两遍都是可运算数字才行

如果运算符任何一边不是一个可运算数字,那么就会返回NaN

加法不可以用

\

\

\

其他数据类型转换成字符串

1.变量.toString()

有一些数据类型不能使用toString()方法,比如undefined和null

2.String(变量)

所有数据类型都可以

扩展:3.使用加法运算

在JS里面,+有两个 含义

字符串拼接:只要+任意一边是字符串,就会进行字符串拼接

加法运算:只有+两边都是数字的时候,才会进行数学运算

\

string所有类型都可以转成字符串

toString 是null和undefined是转换不了的

\

\

\

其他数据类型转成布尔类型

1.Boolean(变量)

在JS中,只有""(空)、0、null、undefined、NaN、这些是false

其余都是true

\