逆战班!js数据类型转换

## 1、***数据类型转换

javascript是弱类型的语言
1、声明变量时,是不需要指定其数据类型
var name;
2、数据类型是由变量的值,来决定
name=1;【“=”用于赋值】

对于不同数据类型的运算时,数据类型会自动悄悄的进行改变,都称之为隐式转换
number+string=string;
number+number=number;

查看一个变量是什么数据类型可使用:console.log(typeof(...))
使用方法:typeof(变量或表达式)

### 1、隐式转换

​ 自动转换:不需要手动指定某些方法,完全是根据程序自己来转换的
​ 算术运算:隐式将左右两边的操作数都变为数字再运算
​ 特殊:+运算,只要有一个操作数是字符串,两边都变为字符串,然后拼接
​ str+any=str;
​ num+any=num;
​ str*num=num;
​ NaN:Not a Number:不是一个数字,但是他确实是number类型

一般是转换出错才会有

​ 由于常规的比较运算没有办法判断一个数字到底是不是NaN
​ isNaN(nun):判断一个数字是不是NaN
​ *反用!isNaN(num):判断一个数字是不是数字!!!检查恶意输入
​ if(!isNaN(num)){
//num是一个数字
​ }else{
​ //num是一个NaN
​ }

### 2、显示转换

​ 页面上所有的东西获得到JS里面使用时,都是string
​ 强制转换:需要程序员显示去调用某些方法,使我们的数据的类型发生变化
​ 1、转String:x.toString();
​ 任何数据类型调用toString(),都会变成string;
​ 特殊:undefined和null不能使用,因为他们俩不能用.操作任何东西。
​ var num=12;
​ 语法:num.toString();//"12";

2、*转Number:
1、*parseInt():使用场合:只要需要把string转为number则使用
int -> integer 整型
将 string 或 number 类型中整数部分的*数字*,转换出来!
语法:parseInt(等待转换的数据);

原理:从左到右的转换,碰到一个非整数字符,直接停止转换,不认识小数点!
如果一来就转换不出来,得到NaN
parseInt(35.5) -> 35
parseInt("35.5") -> 35
parseInt("35hello.5") -> 35
parseInt("hello35.5") -> NaN

2、*parseFloat
Float:单精度浮点类型 -> 小数
原理几乎和parseInt一样,但是认识第一个小数点
parseFloat(35.5) -> 35.5
parseFloat("35.5") -> 35.5
parseFloat("35hello.5") -> 35
parseFloat("hello35.5") -> NaN
parseFloat("35.555.555") -> 35.555

3、Number(any);
原理:相当于隐式转换,隐式转换时就是悄悄的套上了他
只能转纯数字组成的字符串,一旦有了非数字字符,则为NaN.
不会使用

两种弹出框:
1、用户输入框:prompt("提示文字","默认值");
2、警告框:alert("警告的文字"); //类似与console.log

posted @ 2020-04-01 22:57  想当画师的前端码农  阅读(94)  评论(0编辑  收藏  举报