JS类型转换常见方法有哪些?JS类型转换常见方法集合
JS类型转换常见的方法集合
一、类型转换
(相关资料图)
1.转换成字串
ECMAScript的Boolean值、数字和字串的原始值的有趣之处在于它们是伪对象,这意味着它们实际上具有属性和方法。
如:
Js代码
复制代码 代码如下:
var sColor = "blue";
alert(sColor.length);//outputs "4"
var sColor = "blue";
alert(sColor.length);//outputs "4"
总而言之,3种主要的原始值Boolean值、数字和字串都有toString()方法。ECMAScript定义的所有对象都有toString()方法,无论它是伪对象,还是真的对象。
Boolean型的toString()方法只是输出"true"或"false",结果由变量的值决定:
Js代码
复制代码 代码如下:
var bFound = false;
alert(bFound.toString());//outputs "false"
var bFound = false;
alert(bFound.toString());//outputs "false"
Number类型的toString()方法比较特殊,它有两种模式,即默认模式和基模式,采用默认模式,toString()方法只是用相应的字符串输出数字值(无论是整数、浮点数还是科学记数法)。
Js代码
复制代码 代码如下:
var iNum1 = 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //outputs "10"
alert(fNum2.toString()); //outputs "10"
var iNum1 = 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //outputs "10"
alert(fNum2.toString()); //outputs "10"
采用Number类型的toString()方法的基模式,可以用不同的基(进制基数)输出数字。
Js代码
复制代码 代码如下:
var iNum = 10;
alert(iNum.toString(2)); //outputs "1010"
alert(iNum.toString(8)); //outputs "12"
alert(iNum.toString(16)); //outputs "A"
var iNum = 10;
alert(iNum.toString(2)); //outputs "1010"
alert(iNum.toString(8)); //outputs "12"
alert(iNum.toString(16)); //outputs "A"
2.转换成数字
ECMAScript提供了两种把非数字的原始值转换成数字的`方法,即parseInt()和parseFloat()。
注意:只有对String类型(Number除外)调用这些方法,才能正确运行对其他类型返回的都是NaN。
例如:
Js代码
复制代码 代码如下:
var iNum1 = parseInt("1234blue");//returns 1234
var iNum2 = parseInt("oxA"); //returns 10
var iNum3 = parseInt("22.5"); //returns 22
var iNum4 = parseInt("blue"); //returns NaN
var iNum1 = parseInt("1234blue");//returns 1234
var iNum2 = parseInt("oxA"); //returns 10
var iNum3 = parseInt("22.5"); //returns 22
var iNum4 = parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或者其他任何进制的字符串转换成十进制整数。第二个参数指定按哪一种进制来解析。
Js代码
复制代码 代码如下:
var iNum1 = parseInt("AF",16);// returns 175
var iNum2 = parseInt("10",2); // returns 2
var iNum3 = parseInt("10",8); //returns 8
var iNum4 = parseInt("10",10); //returns 10
var iNum1 = parseInt("AF",16);// returns 175
var iNum2 = parseInt("10",2); // returns 2
var iNum3 = parseInt("10",8); //returns 8
var iNum4 = parseInt("10",10); //returns 10
说明:如果十进制数包含前导0,那么最好采用基数10,否则得到的是八进制的值。
Js代码
复制代码 代码如下:
var iNum1 = parseInt("010"); // returns 8
var iNum2 = parseInt("010",8); //returns 8
var iNum3 = parseInt("010",10);//returns 10
var iNum1 = parseInt("010"); // returns 8
var iNum2 = parseInt("010",8); //returns 8
var iNum3 = parseInt("010",10);//returns 10
parseFloat()方法与parseInt()方法的处理方式相似,从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字符之前的字串转换成数字。对于这个方法来说,第一个出现的小数点是有效字符。如果用两个小数点,第二个小数点将被看作无效的。使用该方法的另一个不同之处在于,字串必须以十进制形式表示浮点数。
Js代码
复制代码 代码如下:
var fNum1 = parseFloat("1234blue"); //returns 1234.0
var fNum2 = parseFloat("0xA"); //returns NaN
var fNum3 = parseFloat("22.5"); //returns 22.5
var fNum4 = parseFloat("22.34.5");//returns 22.34
var fNum5 = parseFloat("0908");//returns NaN
var fNum6 = parseFloat("blue");//returns NaN
var fNum1 = parseFloat("1234blue"); //returns 1234.0
var fNum2 = parseFloat("0xA"); //returns NaN
var fNum3 = parseFloat("22.5"); //returns 22.5
var fNum4 = parseFloat("22.34.5");//returns 22.34
var fNum5 = parseFloat("0908");//returns NaN
var fNum6 = parseFloat("blue");//returns NaN
3.强制类型转换
ECMAScript中可用的3种强制类型转换如下:
(1).Boolean(value)
把给定的值转换成Boolean型。
当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,阅读中心它将返回false。
如:
Js代码
复制代码 代码如下:
var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
(2).Number(value)
把给定的值转换成数字(可以是整数或浮点数)。
还记得parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串,因此"4.5.6"将被转换为"4.5"。用 Number()进行强制类型转换,"4.5.6"将返回NaN,因为整个字符串值不能转换成数字。如果字符串能被完整地转换,Number()将判断是调用parseInt()方法还是调用parseFloat()方法。
如:
Js代码
复制代码 代码如下:
Number(false);//0
Number(true);//1
Number(undefined);//NaN
Number(null);//0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
Number(100);//100
Number(false);//0
Number(true);//1
Number(undefined);//NaN
Number(null);//0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
Number(100);//100
(3).String(value)
把给定的值转换成字串。
与调用toString()方法的唯一不同之处在于,对null或undefined值强制类型转换可以生成字符串而不引发错误:
Js代码
复制代码 代码如下:
var s1 = String(null);//"null"
var oNull = null;
var s2 = oNull.toString();//causes an error
标签:
相关推荐:
最新新闻:
- win7系统提示actionscript错误如何解决?解决actionscript错误解决方法_焦点热讯
- CMNET和CMWA有什么区别?一文读懂CMNET和CMWA的区别|天天新动态
- 今日热议:如何解决建行网银盾无法识别?建行网银盾无法识别的解决办法
- 【报资讯】android动态添加权限6.0+-记录开发过程
- 新站上线前如何挑选核心关键词?网站关键词的选择和优化设置技巧-全球新消息
- 360云盘怎么转存百度云盘?360云盘转存百度云盘详细步骤|环球今热点
- 如何快速解决打印机喷头堵塞问题?清洗打印机喷头方法
- JS类型转换常见方法有哪些?JS类型转换常见方法集合
- 腾讯手机管家怎么样?腾讯手机管家详情介绍
- 联通4G跳到3G无法上网原因是什么?如何恢复4G上网?
- 微动态丨拼多多猜拳游戏怎么玩?怎么进入游戏界面?
- 如何使用iPhone手机的各种技巧?超全面iPhone实用技巧汇总
- iPodnano7值不值得购买?iPod nano7配置介绍_当前消息
- 碳纤维发热电缆电地暖怎么样?碳纤维地暖和发热电缆电地暖有什么区别?:要闻
- 3322域名如何注册?注册方法有哪些?
- Vista、win7、win8的区别是什么?详情介绍
- 什么是家庭影院?家庭影院的播放系统有哪些?
- 抗侧力构件弹性位移如何计算?如何防止钢结构厂房的基础下沉?-世界热资讯
- 500G硬盘价格多少?500G硬盘品牌价钱性能介绍
- 如何使用PTDD分区表?详细教程介绍
- 有哪些指标可以评估搜索引擎的质量?搜索引擎质量评测 天天新视野
- 热推荐:springmvc的强大之处:SpringMVC
- 【钻石杯】中国女篮63-51大胜欧洲劲旅拉脱维亚女篮
- 丢失msvcr100.dll文件如何解决?MSVCR100.dll文件解决办法
- 要闻:【论文推荐】远程屏幕监控系统项目分析
- 全球新动态:联想乐PadA14.0预览版泄露 刷机升级方法大揭秘
- miui12.5内测答案是什么?怎么申请miui12.5内测版本?-当前短讯
- 诺基亚800c如何刷机?800c诺基亚刷机步骤介绍及刷机方法-焦点播报
- 焦点热讯:多立方浴霸有什么优点?多立方浴霸优点详细介绍
- 录音软件哪个好?推荐几款最常用的录机软件
- 续航200KM的九号电动车长啥样?
- 【全球独家】舒乐康空气净化器怎么样?空气净化效果好吗?
- 如何安装笔记本的双硬盘?笔记本双硬盘安装步骤
- 如何用指针申请动态内存?函数的参数是一个指针吗?
- 知识点补充:什么是互质?互质的详情介绍
- 局域网上任意主机怎么控制?软件实现局域网流量控制
- 华为手机如何管理应用权限?华为手机管理应用权限步骤|全球观察
- 为什么会有Base64编码?编码之Base64编码
- 360极速浏览器如何导出数据和收藏夹?360极速浏览器导出数据和收藏夹
- 怎么将电脑的进程隐藏起来?隐藏进程怎么设置?|重点聚焦
- 社交领域火爆出圈 Soul向港交所递交上市申请:当前通讯
- 程控电话交换机原理是什么?数字程控交换机的基本构成-全球播报
- 售价2万元的雅迪电动车长什么样?
- 环球即时看!电脑出现实时调试怎么办?教你3个方法轻松解决
- 抖音时间倒流是什么?抖音时光倒流使用方法
- 电脑关不上机怎么办?shutdown定时关机命令详解
- 为什么说HTTPS能保证数据传输的完整性与保密性?-每日报道
- 要闻速递:小米首款智能鱼缸仅需449元 半年不用换水
- 世界快看点丨米老鼠微信主题红包怎么玩?米老鼠微信主题气泡设置教程方法
- windows7系统下的MTU值如何修改?具体操作步骤如下
- 开启预售!影驰K8 pro星曜娘联名款键盘来啦!
- 双接口 海康威视128GU盘37.9元_今日热文
- 世界观热点:长续航 雅迪欧曼2099元
- JBL蓝牙无线耳机179元 快看
- 环球新资讯:超过一半的密码AI破解不到1分钟
- 世界资讯:睾丸恶性间皮瘤
- 精选!Xbox公布精英2青春版手柄宣传片 玩家:精英3呢?
- 《最终幻想:像素重制版》容量揭晓 NS版5.7G
- 乙烷电子式示意图_乙烷电子式
- 沃尔玛XSX迷你冰箱48美元 游戏玩家的零食神器 当前快报
- 《马里奥》电影大爆!分析师称任天堂将获利3.5亿刀
- 水平接近ChatGPT!昆仑万维国产大语言模型来了
- 【天天时快讯】《异形工厂2》Steam页面上线 支持中文发售日期待定
- 全球今日报丨《小美人鱼》真人电影人类公主剧照 比黑人鱼好看多了
- 传PS5掌机Q-Lite今年11月发售 200美元左右
- 天天最新:SIE:PS5和XSX的游戏性能对比非常影响玩家
- 美媒:高通胀给美国低收入家庭带来更大压力 加大贫富差距 精选
- 【当前热闻】贾跃亭14亿股权再被冻结!累计被执行超42.3亿元
- 《最终幻想16》陆行鸟演示 羽毛毛茸茸的想Rua!
- 小米举办米粉节OPEN DAY,500米粉欢聚小米科技园_每日聚焦
- 《生化危机4:重制版》佣兵模式角色强度排名:里昂仅排第二_每日热讯
- 德阳市旌阳区柏隆镇凤泉社区志愿服务队
- 世界要闻:《暗黑4》曝6月2日全球解锁 多平台可玩
- 影像旗舰地位稳了!小米13 Ultra确认可变光圈+全焦段四摄-环球今头条
- 世界讯息:首销火爆!2599买16G+1T骁龙7 gen 2手机