标签:float 精度 ons def type parse 比较 用户输入 出错
## 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
标签:float 精度 ons def type parse 比较 用户输入 出错
原文地址:https://www.cnblogs.com/lanbai/p/12616633.html