ECMAScript类型转换详解


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



相关阅读:
JSP入门初级教程之plugin的使用
Java 正则表达式详解
jqeury eval将字符串转换json的方法
解决读取IIS服务器绝对路径错误的方法
Windows Server 2008升级考试出炉
微软宣布Windows 7和Windows 2008 R2上市时间表
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
基于jquery的监控数据是否发生改变
Windows注册表更加安全的设置技巧
Firefox window.close()的使用注意事项
有序列表和段落设计华丽的网页列表数字
CSS布局入门
IE对CSS样式表的限制分析与解决方案
使用Struts+Hibernate上传大对象(BLOB)(三)
快速导航

Copyright © 2016 phpStudy |