js学习笔记(基础语法上 --数据类型转换完)

数据类型转换
1.转换成字符串类型
(1)toString()
((a))转换时不会影响到原变量的数据类型

var num1 = 123;
var str11 = num1.toString();
document.write(typeof num1 + '<br>'); //num1仍旧是Number类型,toString()不会影响到原变量
document.write(typeof str11 + '<br>'); //str11此时是String类型

((b))可以携带一个参数,输出对应进制的值

var num1 = 123; //默认10进制
var str12 = num1.toString(2); //转成2进制
document.write(str12 + '<br>'); 
//123转换为2进制为1111011,所以str12输出为1111011

((c))null和undefined没有toString()方法,调用则报错

var str4 = null, str5 = undefined;
var str13 = str5.toString()
console.log(str13);//在控制台报错

(2)String()
null和undefined可以用,其他的也可以用。

var str5 = undefined;
var str13 = String(str5)
document.write(typeof str13 + '<br>');

(3)拼接字符串方式
任何数据和 + ""连接到一起都会转化成字符串,原理和String()一样

var n1 = 100;
var str21 = n1 + "";
document.write(typeof str21);
//输出为55,相当于字符串的连接
document.write('5' + 5 + '<br>'); //String类型

2.转换成Number类型
(1)字符串转数字
((1))如果是纯数字的字符串直接转换成数字

var str1 = '1001';
var num1 = Number(str1);
document.write(typeof num1);//Number类型

((2))如果字符串为空或者是一个全为空格的字符串,则转换为0

var str2 =  "";
var num1 = Number(str2);
document.write(num1);//Number类型,输出为0

((3))只要字符串中有非数字的内容,则转换成NaN

var str2 =  "15556it";
var num1 = Number(str2);
document.write(num1);//Number类型,输出为NaN

(2)布尔转数字
true转成1,false转成0

var a1 = true, b1 = false ;
a2 = Number(a1) ,b2 = Number(b1);
document.write(a2 + '<br>'); //输出为1
document.write(b2 + '<br>'); //输出为0

(3)null和undefined转数字
null转为0,undefined转成NaN

var a1 = null, b1 = undefined ;
a2 = Number(a1) ,b2 = Number(b1);
document.write(a2 + '<br>'); //输出为0
document.write(b2 + '<br>'); //输出为NaN

(4)parselnt()parseFloat()函数
当字符串中含有非数字内容时,可以提取字符串中的有效整数和浮点数
parselnt()
((1.))有两个参数,第一个参数是要进行转换的字符串,第二个参数是要进行转换的进制
((2.))从第一位有效数字开始,直到遇到无效数字为止

var a1 = "1000jjj";
a2 = parseInt(a1);
document.write(a2 + '<br>'); //输出为1000

((3.))如果第一位不是有效数字,则直接返回NaN

var a1 = "j1223";
a2 = parseInt(a1);
document.write(a2 + '<br>'); //输出为NaN

((4.))只能转换成整数

var a1 = "12.3kkk";
a2 = parseInt(a1);
document.write(a2 + '<br>'); //输出为12

parseFloat()
((1.))不支持第二个参数,只能解析十进制数
((2.))从第一位有效数字开始,直到遇到无效数字为止
((3.))如果第一位不是有效数字,则直接返回NaN
((4.))可以转换小数

var b1 = "10.5mmm";
var b2 = parseFloat(b1);
document.write(b2 + '<br>'); //输出为10.5

注意:对非string使用parselnt()parseFloat(),会先将它准换成string类型,再准换成数字类型,空串、空格串、布尔、null、undefined都会转化成NaN

var a1 = "      ";
a2 = parseInt(a1);
document.write(a2 + '<br>'); //输出为NaN
var b1 = "";
var b2 = parseFloat(b1);
document.write(b2 + '<br>'); //输出为NaN

+和-0运算符
+str1添加+号,不会改变数据的正负性,相当于使用了Number()函数;
-str1添加-号,会改变数据的正负性,同时又相当于使用了Number()函数;
str1 - 0添加- 0,不会改变数据的正负性,相当于使用了Number()函数

var str = '10.1';
var num1 = +str; //+相当于使用了Number()函数
document.write( num1 +'<br>');//Number类型,输出10.1
var str1 = '10.1';
document.write(+str1 + '<br>'); //输出为10.1
document.write(-str1 + '<br>'); //输出为-10.1
document.write(str1 - 0 + '<br>'); //输出为10.1

3.转换成布尔类型
Boolean(),0、空字符串、null、undefined、NaN会转成false,其他都会转成true

document.write(Boolean(1) + '<br>'); //输出为true document.write(Boolean("   ") + '<br>'); //空格串输出为true
document.write(Boolean("") + '<br>'); //输出为false
document.write(Boolean(null) + '<br>'); //输出为false
document.write(Boolean(undefined) + '<br>'); //输出为false
document.write(Boolean(NaN) + '<br>'); //输出为false

document.write(true + true + '<br>'); //输出为2
document.write(false + false + '<br>'); //输出为0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值