ECMAScript类型转换详解
2010-09-14 13:19:11 来源:WEB开发网所有程序设计语言最重要的特征之一是具有进行类型转换的能力,ECMAScript 给开发者提供了大量简单的转换方法。大多书类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换,无论哪种情况,在ECMAScript中,类型转换都是简短的一步操作。
转换成字符串
Boolean,Number,都有toString()方法可以使用
Boolean --> String 可能返回字符串"true" 或 "flase"
Number --> String
Number对象的toString方法原型objectName.toString(基数) 参数不是必要的
当使用无参数的toString时 原来的数字会自动转换成十进制数并转换成字符串 见代码示例
以下是引用片段:
<scripttype="text/javascript">
window.onload=function()
{
vara=true;
varb=false;
window.alert(a.toString());//输出true
window.alert(b.toString());//输出false
varc=10;
vard=010;
vare=0xa;
window.alert(c.toString());//输出10
window.alert(d.toString());//输出8
window.alert(d.toString(8));//输出10
window.alert(e.toString(16));//输出a
}
</script>
字符串转换成数字
使用本地对象Global的parseInt()方法 和 parseFloat()方法 如果是非字符串使用此方法,会返回NaN
parseInt(要转换的字符串,要转换的字符串是几进制的) 其中第2个参数不是必须的
parseFloat(要转换的字符串)
对于字符串中出现非数字字符 parseInt()和parseFloat()的处理方法见代码
以下是引用片段:
<scripttype="text/javascript">
window.onload=function()
{
window.alert(parseInt(null)); //输出NaN
window.alert(parseInt(true)); //输出NaN
window.alert(parseInt("123"));//输出123
window.alert(parseInt("123a456"));//输出123
window.alert(parseInt("a123"));//输出NaN
window.alert(parseInt("10",8));//输出8
window.alert(parseFloat("123.45"));//输出123.45
window.alert(parseFloat("123.45.67"));//输出123.45
}
</script>
强制转换
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
Boolean(value)
转换成true的条件:非空字符串,非0数字,对象
转换成flase的条件:空字符串,数字0,undefined,null
Number(value)
Boolean转换成Number: true转换成1,false转换成0
String转换成Number: 与parseInt()和parseFlost()不同在于,Number(value)对整个字符串都进行转换 当整个字符串不是一个整形或浮点数形式的时候返回NaN
以下是引用片段:
<scripttype="text/javascript">
window.onload=function()
{
vartest="123a4";
window.alert(parseInt(test));//输出123
window.alert(Number(test)); //输出NaN
}
</script>
String(value)
对任何值转换成String
undefined和null也会转换成对应的字符串undefined和null而不会出现转换错误
Tags:ECMAScript 类型 转换
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接