Javascript基础2

变量类型(2)
数据类型转换

一、显示类型转换(强制类型转换)
1.转换成整数型:
    parseInt(arg)——arg参数为输入要转换的变量
解析:
    与其说是转换整数,还不如说是从字符串中提取整数
例子:
<script>
/**
 * parseInt()只要碰到不是数字的东西就不再向下获取,方向是自左向右
 */
var a = '12';
alert(parseInt(a));     //返回:12

a = '12px';
alert(parseInt(a));     //返回:12

/**
 * NaN是简称,全称为:Not A Number
 * 翻译成为中文:不是数字——非数字
 * NaN与任何数字运算都是NaN
 */
a = 'abc';
alert(parseInt(a));     //返回:NaN
</script>
注意NaN:
NaN与其他数值进行比较的结果总是不想等的,包括它自己在内;
不能与Number.NaN比较来检测一个值是不是数字,而只能调用isNaN()来比较;

检测函数:isNaN(arg)
参数:arg——要检测的变量
返回:boolean
例子:
<script>
var a = parseInt('abc');
alert(a == NaN);    //返回:false
alert(isNaN(a));    //返回:true
</script>
2.转换成浮点型:
    parseFloat(arg)——arg参数为输入要转换的变量
解析:
    与其说是转换浮点数,还不如说是从字符串中提取浮点数
例子:
<script>
/**
 * parseFloat()只要碰到不是数字的东西就不再向下获取,方向是自左向右
 */
var a = '12.6';
alert(parseFloat(a));     //返回:12

a = '12.6px';
alert(parseFloat(a));     //返回:12

/**
 * NaN是简称,全称为:Not A Number
 * 翻译成为中文:不是数字——非数字
 * NaN与任何数字运算都是NaN
 */
a = 'abc';
alert(parseFloat(a));     //返回:NaN
</script>
二、隐式类型转换:
1.==(不严谨),===(严谨点)
例子:
<script>
    var a = '12';
    var b = 12;

    /**
     * 把a和b转换成为一样的类型,然后再比较
     */
    alert(a==b);
    
    /**
     * 不转换,直接比较
     */
    alert(a===b);
</script>
2.减号、乘号、除号(除了加号其他数字运算符,都会隐式转换)

例子:

<script>
    var a = '12';
    var b = '5';

    /**
     * 先转换为数字
     * 然后在进行减法运算
     */
    alert(a-b); //结果7
    alert(a*b); //结果60
    alert(a/b); //结果2.4
</script>
Tips:
为什么加号不会隐式类型转换?
加号的作用: 
    1.字符串连接(方便就先来,计算机也很懒)
    2.数字运算(情非得已,先转后运算)

其他符号(-、*、/)作用:
    1.数字运算(情非得已,先转后运算)


你可能感兴趣的:(Javascript基础2)