JavaScript变量不同类型之间的自动、手动类型转换

转换成字符型:toString()
      var str = 123;
        str.toString();转换成字符串

      将str从数值型变成字符型

 
    浮点数:
        电脑在运算过程中以正确的二进制浮点进行运算,但是我们输入的都是十进制的数,这两者并不是总是能转化的那么准确,有时候会得到正确的结果,但有时候就没那么幸运。
       
     alert(0.7+0.1);???
        alert(0.6+0.2);???
 
        var a=3,b="10",c=true;
        alert(a+b);
        alert(b+c);
        alert(a+c);

 

    运算结果好像并不是我们想要的。
    我们想做数学运算的时候,应该先对所有的数据类型进行统一(统一成数字格式),这个时候我们就该用到数据类型的转换。
 
    转换成数值:
        parseInt();转换成整数,可以接受两个值
        parseFloat();转换成浮点数
 
    两者的不同:
        parseInt();该方法从左向右,检测数字或字符串,当第一次发现一个不为数字的字符时,把之前的所有进行返回,如果字符串中第一个就不是数字,那么返回NaN
        例如:parseInt("123abc");a做为第一个不是数字的字符;返回a之前的所有值,则该方法返回123
             parseInt("abc123");a做为第一个不是数字的字符,且处在字符串的第一位,则判定该字符串无法转换为数字返回NaN
 
        parseFloat();该方法检索数字或字符串后面第一个.后的不为数字的字符,并对之前所有的结果进行返回,如果第一个字符不为数字,那么返回NaN
        例如:
            parseFloat(“123.456");返回123.456
             parseFloat(“123.4a56");返回123.4
             parseFloat(“123.00");返回123
             parseFloat(“123.0a56");返回123    

 

        想想为什么?
 
        关于浮点数:Math.round()四舍五入取整浮点数。
 
 
    认识NaN:它是一种特殊的Number类型,代表意外转换的数字,NaN和任何东西都不相等,包括它自己。
 
    var num = 123.4567;
    num.toFixed(n);  保留n位小数
 
2.逻辑运算
    一门计算机语言,编程的核心在于逻辑思想,当我们在编写程序的时候,逻辑是否通顺,是能否写出程序的关键,可以说如果掌握了逻辑,那么你就踏入的计算机编程的大门。
 
        逻辑运算符:  &&    ||    !
运算符
说明
例子
运算结果
&&
逻辑与(and)
x = 2;
y = 6;
x>5 && y>5
FALSE
||
逻辑或(or)
x = 2;
y = 6;
x>5 || y>5
TRUE
!
逻辑非,取逻辑的反面
x = 2;
y = 6;
!(x > y)
TRUE
 
 
       字符串连接运算符:    +
 
 
3.自增自减运算
    ++        --
 
    a++表示在a原有的基础上增加1
    a--表示在a原有的基础上减小1
    那么,++a  和  --a  呢?
 
  var a = 1;
    alert(a);
 
    var b = 1;
    alert(b++);
        alert(b);
 
    var c = 1;
    alert(++c);

 

  
 
    前自增与后自增有本质的区别,他们相同点都是为自身加了1,不同点是
        前自增是先加1,再使用操作数的值
        后自增是先使用操作数的值,再加1
 
    前自减和后自减同上。
 
 
 
4.NaN的概念和应用
NaN:是一种特殊的Number类型,代表意外转换的数字,NaN和任何东西都不相等。厉害到自己都不等于自己
 
not a number不是一个数字的数字
alert(NaN == NaN);返回false
 
    var a = 0;
    var b;
    var c = a + b;
    alert(c);

 

 
    
 
    认识isNaN()函数,该函数判断括号内的值是否是NaN,是就返回true,不是就返回false
    alert(isNaN(c));
 
 
5.Number方法的应用
    Number()为强制数据类型转换:
    
  Number("hello world");    //NaN
    Number("123456");         //123456

 

  
 
 
6.八进制和十六进制的介绍
    我们平时所习惯的不过是一种别人规定好的规则而已,比如iphone的价格,这个是认为规定的,我们知道了,并且已经习惯了,它的贵!
    
    那么这样的习惯其实会有所改变。
    
    比如进制,同样也是一种规则,这种规则是什么样的呢?数数字到9以后,你会想到什么?为什么会是10呢?
 
    9就是10进制的极限了,那么当继续计数的时候,会将9向前进1,然后9归零,这就是10;
 
    那么什么是二进制呢?逢2进1呗,如何用二进制表示3 ?11
 
    什么是八进制呢?如何用八进制表示10 ?12
 
    什么是十六进制呢?如何用十六进制表示25 ?19
 
    理解就够了;
 
    32位系统/64位系统
    颜色值
    ……
posted @ 2018-06-29 10:01  前端开发交流  阅读(246)  评论(0编辑  收藏  举报