基本数据类型的转换

2019-06-05  本文已影响0人  敲键盘的那些年

基本数据类型

① 字符串 String

var  str = 'abcdefg';
var  str = "123";

② 数字 Number

var num = 1234;

③ 布尔 Boolean (只有true和false)

var  bool = true;

④ 空对象指针 null (准备给对象(Object)使用)

var  timer = null;

⑤ 未定义 undefined (准备给基本数据类型使用)

var  unKnow = undefined;

将字符串转换成数字的方法:

显式: 1、parseInt();
功能: 将字符串转为数字类型(整型);
特点:只取整数(不认识字符)

            var ca = parseInt('123.9hao');

            console.log(ca);            //  打印结果为  数字123

            var cb = parseInt('hao123');

            console.log(cb);        //  打印结果为  NaN

            var cc = parseInt('123hao');

            console.log(cc);        //  打印结果为 123

2、 parseFloat();

功能: 将字符串转为数字类型(浮点型);
特点:保留小数点 (不认识字符)

            var cd = parseFloat('123.9hao');

            console.log(cd);            //  打印结果为  数字123.9

            var ce = parseFloat('hao123');

            console.log(ce);        //  打印结果为  NaN

            var cf = parseFloat('123hao');

            console.log(cf);        //  打印结果为 123

3、 Number() 转为数字类型
只要有字符,打印结果就为NaN

            console.log(Number(1));                  //        1

            console.log(Number(''));                //        0

            console.log(Number('a'));                //        NaN

            console.log(Number('30'));              //        30

            console.log(Number(true));              //        1

            console.log(Number(false));              //        0

            console.log(Number(null));              //        0

            console.log(Number(undefined));          //        NaN

            console.log(Number(NaN));                //        NaN

            console.log(Number(+Infinity));          //        +Infinity

            console.log(Number(-Infinity));          //        -Infinity

隐式: 4、 一元操作符 前置: ++a --a
后置: a++ a--
+ a 正
- a 负

                    var z = '1';

                    z++;

                    console.log(z);      //   2

  // 先隐式的将字符串  转换为 数字  再进行运算  所以打印结果为 数字2

5、 等号操作符 也会隐式的将字符串转换为数字

           // 1、== 

            console.log(1 == '1')   

            // 会隐式的将字符串'1'转换成数字 1  所以打印结果为  true

            //2、!=

            console.log(1 != '1')

            // 会隐式的将字符串'1'转换成数字 1  所以打印结果为  false

6、 加性运算符 (-)偏向数字的运算

            var jf = 2 - '1' - 1;

            console.log(jf);   

     // 隐式的将字符串 转换为 数字  然后运算      所以打印结果为 数字 0

7、 乘性运算符 乘:* 除:/ 余数:%

            var ob = 2 * '3';

            console.log(ob);   

     // 隐式的将字符串 转换为 数字  然后运算      所以打印结果为 数字 6

8、 比较运算符

       // 大于: >  小于: <  小于等于:<=    大于等于:>=

            console.log('2' > 1);

       // 隐式的将字符串 转换为 数字  然后运算      所以打印结果为 true

9、使用Boolean转换时,也会先将变量隐性的转换为数字之后,再进行Boolean 的转换。

转换为字符串的方法

显式:1、String()

  console.log(String(1));                  //  转换为字符串  1

  console.log(String('a'));                //  转换为字符串  a

  console.log(String('1'));                //  转换为字符串  1

  console.log(String(true));                //  转换为字符串 true

  console.log(String(false));              //  转换为字符串 false

  console.log(String(null));                //  转换为字符串 null

  console.log(String(undefined));          //  转换为字符串ubdefined

  console.log(String(+Infinity));          //  转换为字符串+Infinity

  console.log(String(-Infinity));          //  转换为字符串-Infinity

2、 true/false/数字 都可以用toString()方法转换为字符串
null与undefined只能用Stirng()方式转换为字符串

            var aa = true;

            console.log(aa.toString());            //  转换为字符串 true

            var ab = false;

            console.log(ab.toString());            //  转换为字符串 false

            var ac = 1234;

            console.log(ac.toString())              // 转换为字符串1234

3、 toFixed 将数字转换为字符串 然后保留小数点后几位小数(四舍五入)

          var ba = 134.56789;

          console.log(ba.toFixed(2));    // 打印结果为 134.57  保留两位小数

隐式:4、加性运算符 偏向于字符串的拼接

          var add = 1 + '2' + 3;

          console.log(add);   

  // 隐式的将数字转换为 字符串 然后拼接到一起 所以打印结果为字符串 123

布尔数据类型的转换

Boolean转换(布尔)

console.log(Boolean(undefined));          //    false

console.log(Boolean(null));              //    false

console.log(Boolean(1));                  //    true

console.log(Boolean(0));                  //    false

console.log(Boolean(''));                //    false

console.log(Boolean('a'));                //    true

console.log(Boolean(NaN));                //    false

console.log(Boolean(+Infinity));          //    true

console.log(Boolean(+Infinity));          //    true

// 取反(转换为布尔)

console.log(!true);                      //    false

console.log(!false);                      //    true

console.log(!(undefined));                //    true

console.log(!(null));                    //    true

console.log(!(1));                        //    false

console.log(!(0));                        //    true

console.log(!(''));                      //    true

console.log(!('a'));                      //    false

console.log(!(NaN));                      //    true

console.log(!(+Infinity));                //    false

console.log(!(-Infinity));                //    false

如果有哪些遗漏的或者有问题的,希望大家指正,万分感谢!!!

image
上一篇下一篇

猜你喜欢

热点阅读