Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|产品中心下载UML生成C++
您现在的位置: 天极网 > 开发频道 > ECMAScript类型转换详解
全文
群乐:JavaScript

ECMAScript类型转换详解

2008-05-05 14:21 作者: 论坛整理 出处: 天极网软件频道 责任编辑:nancy

  所有程序设计语言最重要的特征之一是具有进行类型转换的能力,ECMAScript 给开发者提供了大量简单的转换方法。大多书类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换,无论哪种情况,在ECMAScript中,类型转换都是简短的一步操作。

  转换成字符串

  Boolean,Number,都有toString()方法可以使用

  Boolean --> String 可能返回字符串"true" 或 "flase"

  Number --> String

  Number对象的toString方法原型objectName.toString(基数) 参数不是必要的

  当使用无参数的toString时 原来的数字会自动转换成十进制数并转换成字符串 见代码示例

以下是引用片段:
<script type="text/javascript">
  window.onload = function()
  {
     var a = true;
      var b = false;
     window.alert(a.toString()); //输出true
      window.alert(b.toString()); //输出false
      var c = 10; 
      var d = 010;
     var e = 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()的处理方法见代码

以下是引用片段:
<script type="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


 

以下是引用片段:
<script type="text/javascript">
 window.onload = function()
 {
     var test = "123a4";
     window.alert(parseInt(test)); //输出123
     window.alert(Number(test));  //输出NaN
 }
 </script>

  String(value)

  对任何值转换成String

  undefined和null也会转换成对应的字符串undefined和null而不会出现转换错误

网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml