WEB开发网
开发学院网页设计JavaScript ECMAScript类型转换详解 阅读

ECMAScript类型转换详解

 2010-09-14 13:19:11 来源:WEB开发网   
核心提示:所有程序设计语言最重要的特征之一是具有进行类型转换的能力,ECMAScript 给开发者提供了大量简单的转换方法,ECMAScript类型转换详解,大多书类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换,数字0,undefined,nullNumber(value)Boolean转换成Number: t

所有程序设计语言最重要的特征之一是具有进行类型转换的能力,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 类型 转换

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接