2.7 类型转换
1、转换成字符串
所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例:
复制代码 代码如下:
var iNum1=10;
var iNum2=10.0;
var iNum3=10;
alert(iNum1.toString()); //outpus "10"
alert(iNum2.toString()); //outpus "10"
alert(iNum3.toString(2)); //outpus "1010"
alert(iNum3.toString(8)); //outpus "12"
alert(iNum3.toString(16)); //outpus "A"
2、转换成数字
ECMAScript提供了两种把非数字的原始值转换成数字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐个字符转换的,直到非数字字符为止。示例程序如下:
复制代码 代码如下:
var iNum1=parseInt("1234blue"); //returns 1234
var iNum2=parseInt("0xA"); //returns 10
var iNum3=parseInt("22.5"); //returns 22
var iNum4=parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制,八进制,十六进制或其他任何进制的字符串转换成整数。基是由parseInt()第二个参数指定的,示例如下:
复制代码 代码如下:
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要用基数模式
var iNum5=parseInt("010"); //returns 8
var iNum6=parseInt("010",8); //returns 8
var iNum7=parseInt("010",10); //returns 10
paraseFloat()没有基模式,其他与parseInt()大致相同,示例:
复制代码 代码如下:
var fNum1=paraseFloat("1234blue"); //returns 1234.0
var fNum2=paraseFloat("0xA"); //returns NaN
var fNum3=paraseFloat("22.5"); //returns 22.5
var fNum4=paraseFloat("22.34.5"); //returns 22.34
var fNum5=paraseFloat("0908"); //returns 908
var fNum6=paraseFloat("blue"); //returns NaN
3、强制类型转换
ECMAScript中可用的强制类型转换如下:
Boolean(value)——把给定的值转换成Boolean型
Number(value)——把给定的值转换成数字(可以是整数或浮点数)
String(value)——把给定的值转换成字符串
示例:
复制代码 代码如下:
var b1=Boolean(""); //false - empty string
var b2=Boolean("hi"); //true - not empty string
var b3=Boolean(100); //true - not zero number
var b4=Boolean(null); //false - null
var b5=Boolean(0); //false - zero
var b6=Boolean(new Object()); //true object
var i1=Number(false); //0
var i2=Number(true); //1
var i3=Number(undefined); //NaN
var i4=Number(null); //0
var f5=Number("5.5"); //5.5
var i6=Number("56"); //56
var i7=Number("5.6.7"); //NaN
var i8=Number(new Object()); //NaN
var i9=Number(100); //100
作者:天行健,自强不息
1、转换成字符串
所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例:
复制代码 代码如下:
var iNum1=10;
var iNum2=10.0;
var iNum3=10;
alert(iNum1.toString()); //outpus "10"
alert(iNum2.toString()); //outpus "10"
alert(iNum3.toString(2)); //outpus "1010"
alert(iNum3.toString(8)); //outpus "12"
alert(iNum3.toString(16)); //outpus "A"
2、转换成数字
ECMAScript提供了两种把非数字的原始值转换成数字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐个字符转换的,直到非数字字符为止。示例程序如下:
复制代码 代码如下:
var iNum1=parseInt("1234blue"); //returns 1234
var iNum2=parseInt("0xA"); //returns 10
var iNum3=parseInt("22.5"); //returns 22
var iNum4=parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制,八进制,十六进制或其他任何进制的字符串转换成整数。基是由parseInt()第二个参数指定的,示例如下:
复制代码 代码如下:
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要用基数模式
var iNum5=parseInt("010"); //returns 8
var iNum6=parseInt("010",8); //returns 8
var iNum7=parseInt("010",10); //returns 10
paraseFloat()没有基模式,其他与parseInt()大致相同,示例:
复制代码 代码如下:
var fNum1=paraseFloat("1234blue"); //returns 1234.0
var fNum2=paraseFloat("0xA"); //returns NaN
var fNum3=paraseFloat("22.5"); //returns 22.5
var fNum4=paraseFloat("22.34.5"); //returns 22.34
var fNum5=paraseFloat("0908"); //returns 908
var fNum6=paraseFloat("blue"); //returns NaN
3、强制类型转换
ECMAScript中可用的强制类型转换如下:
Boolean(value)——把给定的值转换成Boolean型
Number(value)——把给定的值转换成数字(可以是整数或浮点数)
String(value)——把给定的值转换成字符串
示例:
复制代码 代码如下:
var b1=Boolean(""); //false - empty string
var b2=Boolean("hi"); //true - not empty string
var b3=Boolean(100); //true - not zero number
var b4=Boolean(null); //false - null
var b5=Boolean(0); //false - zero
var b6=Boolean(new Object()); //true object
var i1=Number(false); //0
var i2=Number(true); //1
var i3=Number(undefined); //NaN
var i4=Number(null); //0
var f5=Number("5.5"); //5.5
var i6=Number("56"); //56
var i7=Number("5.6.7"); //NaN
var i8=Number(new Object()); //NaN
var i9=Number(100); //100
作者:天行健,自强不息
标签:
ECMAScript,类型转换
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。