JS中的数据强制类型转换
1.含义
强制类型转换指的是将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型,转换为 String Number Boolean即字符串,数值和布尔值
2.将其他的数据类型转换为Sting
1.方式一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响到原变量,它会将转换结果返回
- 但是要注意:null和undefined这两个没有toString 调用会报错
a =true;
//调用xxx的yyy()方法,就是xxx.yyy()
a =a.toString();
document.write(typeof a);//string
document.write(a);//true
2.方式二:
- 调用String()函数,并将参数传递给函数
- 使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用的toString()方法
但是对于null和undefined,就不会调研toString()方法
它会将null 直接转换为 "null"
将undefined 直接转换为 "undefined"
a=null;
a=String(a);
document.write(typeof a);//string
document.write(a);//null
3.将其他的数据类型转换为Number
1.方式一
使用number()函数
将字符串转换成数字
1.纯数字:转换成数字
var a="123";
a=Number(a);
console.log(typeof a);//Number
console.log(a);//123
2.有非数字内容:nan
var a="123px";
a = Number(a)
console.log(typeof a);//number
console.log(a);//NaN
3.空窜/全是空格:null
4.true/false:1/0
5.null --> 数字0
6.undefined --> 数字nan
2.方式二
使用parseInt()和parseFloat()函数(专门用于应付字符串)
parseInt()
var a="123px";
a=parseInt(a);
console.log(typeof a);//Number
console.log(a);//123
parseFloat()
parseFloat()和parseInt()类似,不同的是它可以获得有效的小数
var a="133.54px";
a=parseFloat(a);
console.log(typeof a);//Number
console.log(a);//133.54
对非String使用parseInt()或parseFloat()
它会先将其转换为String然后再操作
3.其他的进制
在JS中,如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果需要表示2进制的数字,则需要以0b开头,但是不是所有浏览器都兼容
//16进制
a=0x10;
a=0xff;//8进制
a=070;//2进制
a=0b10;//像"070"这种字符串,有些浏览器会当成8进制解析吗,有些会当成10进制解析
a="070";//可以在pareeInt()中传递一个第二个参数,来指定数字的进制
a=parseInt(a,8);
console.log(a);
4.将其他的数据类型转换为Boolean
使用boolean()函数
将数字转换为布尔
除了0和NaN,其余的都是true
将字符串转换为布尔
除了空串,其余都是true
null和undefined都会转换为false
var a=123;//true
a=456;//true
a=0;//false
a=Infinity;//true
a=NaN;//falsea="true";//true
a="";//falsea=null;//false
a=undefined;//falsea=Boolean(a);
JS中的数据强制类型转换相关推荐
- JS中==操作符的强制类型转换规定
首选判断两者的类型是否相同,如果不相同会进行类型转换,相同的话就比较大小 转换类型 1.字符串和数字之间的相等比较,将字符串转换为数字之后再进行比较大小 1 == '1' --> 1 == 1 ...
- js html 处理json数据,JS中Json数据的处理和解析JSON数据的方法详解
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...
- 深入理解C++中五种强制类型转换的使用场景
深入理解C++中五种强制类型转换的使用场景 1.C风格的强制类型转换 2.C++风格的强制类型转换 2.1.static_cast 2.1.1.用于基本内置数据类型之间的转换 2.1.2.用于指针之间 ...
- C++中4种强制类型转换 ?
C++中4种强制类型转换 前言 C风格的转换格式很简单,但是有不少缺点 C++中的类型转换: 一.static_cast转换 二.dynamic_cast转换 三.const_cast转换 四.rei ...
- 【JavaScript】如何将JS中的数据提交到Servlet服务器中
功能 用户可以在form表单中输入用户名和密码 点击"改变用户名"."改变密码"."改变隐藏值"按钮后,相应input中的值被改变 注意:此 ...
- JS中的数据类型转换:String转换成Number的3种方法
今天有个学员问了个关于数据类型转换的问题,我觉得这个是可以给大家说一下的. JavaScript中,可以通过以下3种方法来将string值转换成number: 1.调用Number()来对string ...
- JS中的数据类型转换
ES5中一共有6种数据类型,其中5种基本类型(String.Number.Boolean.Null.Undefined),1种引用类型(Object).基本类型值可以相互换转换,并且引用类型值也可以通 ...
- html中隐式转换成数字,详解JS中的隐式类型转换
JS中隐式类型转换 JS中的数据类型 JS中的数据类型分为两大类: 1.基本数据类型: 1.String 字符串 表示一段文本,例如:人的姓名.地址等 2.Number 数值 3.Boolean 布尔 ...
- js的数据类型和强制类型转换
数据类型: 字符串 : 数字: 在js中number的最大值Number.MAX_VALUE大概是10的308次方 如果超过这个数,将显示为infinity(正无穷)当然也有负无穷 ,其type为Nu ...
最新文章
- 搞开源也会被死亡恐吓!
- Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin详细步骤
- 中石油训练赛 - Cafebazaar’s Chess Tournament(FFT)
- linux安装mysql5.7.29_linux 之centos7搭建mysql5.7.29的详细过程
- 【java】Thread.Sleep 与 Thread.onSpinWait
- android http 图片上传,Android okHttp上传图片
- 潘多拉固件设置ipv6_k2p路由器PandoraBox潘多拉与openwrt固件配置ipv6地址方法
- 传智播客8月C/C++基础班开班
- html5 统计图 等值线,浅谈WebGIS等值线模态前端展示生成绘制(算法经验)
- BC70 空心三角形图案
- hive任务卡在个别reduce的问题分析
- 混合云解决方案:统一化、简化、创新化
- IOS 如何排除闪退和内存泄漏问题
- 天池SQL训练营TASK2打卡
- 防止APP被黑客攻击的解决方案
- 按键精灵DNF脚本开发第二季
- java版MC城市地图
- 春运“最土陀螺工长”和他的“幸福工区”
- Linux 安装 git
- java项目的随机验证码