码迷,mamicode.com
首页 > Web开发 > 详细

js中的进制类型转换

时间:2021-04-14 12:04:24      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:二进制   调用   init   类型   int   数据类型   int()   bool   就是   


强制类型转换
-指将一个类型强制转换为其他的数据类型
-类型转换是指,将其他数据类型,转换为
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);


js中的进制类型转换

标签:二进制   调用   init   类型   int   数据类型   int()   bool   就是   

原文地址:https://www.cnblogs.com/nablog/p/14654953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!