标签: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