手记

js中的进制类型转换

强制类型转换
-指将一个类型强制转换为其他的数据类型
-类型转换是指,将其他数据类型,转换为
string number boolean
将其他类型转换为string
*
方式一
调用被转换类型的toString方法,该方法不会影响原变量,会将转换的结果进行返回
但是注意null和undefined这两个值没有tostring方法
如果调用会报错

    方式二
    调用string()函数
    对于number 和boolean 实际上就是调用的toSting()方法
    但是对于null和undefined,就不会调用toString()方法
    它会将null 直接转为‘null’
    将undefined 直接转为‘undefined’
*/
var a = 123;
var b =a.toString();
console.log(a); //数字123
console.log(typeof a);//number
console.log(b); //字符串123
console.log(typeof b); //string
a = true;
a = a.toString();
console.log(a);    //true
console.log(typeof a); //string
a = null;

// a.toString();//报错
console.log(typeof a);//object
a = undefined;
// a.toString();//报错
console.log(typeof a);//undefined
a = 123;
a= String(a);
console.log(a); //字符串123
console.log(typeof a); //string
a = null;
a=String(a);
console.log(a); //null
console.log(typeof a); //string

a = undefined;
a = String(a);
console.log(a);     //undefined
console.log(typeof a);  //string
a=String(a);
console.log(a); //true
console.log(typeof a);//string

将其他数据类型转换为number

/*
转换方式一
使用Number()函数
-字符串—>数字
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NAN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
-布尔—>数字
true -->1
false -->0
- null -->数字0
- undefined -->NAN
转换方式二
parseInt() -->转换成整数
parseFloat() -->转换成浮点数
调用parseInt()函数将a转换成Number
parseInt()可以将一个字符串中开头的有效整数内容取出来,
转换成Number
如果对非string使用parseInt()或parseFloat()
它会先将其转换为string然后再操作
*/
var a =“123”;
a = Number(a);
console.log(a); //数字123
console.log(typeof a);//number
a = “abc1”;
a = Number(a);
console.log(a); //NaN
console.log(typeof a); //number
a = " ";
a = Number(a);
console.log(a); //0
console.log(typeof a); //number
a = true;
a = Number(a);
console.log(a); //1
console.log(typeof a);//number
a = null;
a = Number(a);
console.log(a); //0
console.log(typeof a); //number
a = undefined;
a = Number(a);
console.log(a); //NaN
console.log(typeof a); //number
a = “123px”;
a = parseInt(a);
console.log(a); //123
console.log(typeof a); //number
a = “123.456px”;
a = parseFloat(a);
console.log(a); //123.456
console.log(typeof a); //number

将其他数据类型转换为Boolean
/**
*

  • -使用Boolean()函数
  •  -数字--->布尔
    
  •      -除了0和NaN,其余的都是true
    
  •  -字符串--->布尔
    
  •      -除了空字符串,其余的都是true
    
  •  -null 和 undefined --->布尔
    
  •      -都会转换为false
    
  •  -对象也会转换为true
    

/
//数字转boolean
var a =123;
console.log(a); //123
console.log(typeof a); //number
a= Boolean(a);
console.log(a); //true
console.log(typeof a); //boolean
a = -123;
a = Boolean(a);
console.log(a);//true
console.log(typeof a);//boolean
a = 0;
a = Boolean(a);
console.log(a);//false
console.log(typeof a);//boolean
a = Infinity;
a = Boolean(a);
console.log(a);//true
console.log(typeof a);//boolean
a = NaN;
a = Boolean(a);
console.log(a);//false
console.log(typeof a);//boolean
//字符串转boolean
a =“hello”;
a=Boolean(a);
console.log(a); //true
console.log(typeof a); //boolean
a =“true”;
a=Boolean(a);
console.log(a); //true
console.log(typeof a); //boolean
a=“false”;
a=Boolean(a);
console.log(a); //true
console.log(typeof a);//boolean
a=“错误”;
a=Boolean(a);
console.log(a); //true
console.log(typeof a);//boolean
a="";
a=Boolean(a);
console.log(a); //false
console.log(typeof a);//boolean
a=" ";
a=Boolean(a);
console.log(a); //true
console.log(typeof a);//boolean
//null
a = null;
a = Boolean(a);
console.log(a);//false
console.log(typeof a );//boolean
//undefined
a = undefined;
a = Boolean(a);
console.log(a);//false
console.log(typeof a );//boolean
a = {};
a = Boolean(a);
console.log(a);//false
console.log(typeof a );//boolean
其他进制转换
/
在js中,如果需要表示16进制的数字,则需要0x开头
如果需要表示8进制的数字,则需要以0开头
**/
//十六进制
a = 0x10;
console.log(a);
a = 0xff;
console.log(a);
//八进制
a = 0o70;
console.log(a);
//二进制
a = 0b10;
//像"070"这种字符串,有些浏览器会当成8进制解析,
//有些会当成10进制解析
a =“070”;
//可以在parseInt()中传递一个第二个参数,来指定数字的进制
a = parseInt(a,10);
console.log(a);
console.log(typeof a);
作者:记录并分享点滴
来源:https://www.cnblogs.com/nablog/p/14654953.html

0人推荐
随时随地看视频
慕课网APP