`
areshowl
  • 浏览: 46348 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

【转】ECMAScript基础(转换)

阅读更多
转换成字符串

3种主要的原始值Boolean值,数字和字符串都有toString()方法,可以把它们的值转换成字符串。

Boolean型的toString()方法只是输出"true"或"false",结果由变量的值决定:

var bFound = false;
alert(bFound.toString());//outputs "false"
Number类型的toString()方法比较特殊,它有两种模式,即默认模式和基模式。

采用默认模式,toString()方法只是用相应的字符串输出数字值(无论是整数、浮点数还是科学记数法),如下所示:

var iNum1 = 10;
var iNum2 = 10.0;
alert(iNum1.toString());//outputs "10"
alert(iNum2.toString());//outputs "10"
采用Number类型的toString()方法的基模式,可以用不同的基输出数字,例如二进制的基是2,八进制的基是8,十六进制的基是16。基只是要转换成的基数的另一种叫法而已,它是toString()方法的参数:

var iNum = 10;
alert(iNum.toString(2)); //outputs "1010"
alert(iNum.toString(8)); //outputs "12"
alert(iNum.toString(16));//outputs "A"
在前面的示例中,以3种不同的形式输出了数字10,即二进制形式、八进制形式和十六进制形式。HTML采用十六进制数表示每种颜色,在HTML中处理数字时这种功能非常有用。

对数字调用toString(10)与调用toString()相同,它们返回的都是该数字的十进制形式。

转换成数字

ECMAScript提供了两种把非数字的原始值转换成数字的方法,即parseInt()和parseFloat()。正如你可能想到的,前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,它们才能正确运行;对其他类型返回的都是NaN。

强制类型转换

还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。ECMAScript中可用的3种强制类型转换如下:

Boolean(value)——把给定的值转换成Boolean型;

Number(value)——把给定的值转换成数字(可以是整数或浮点数);

String(value)——把给定的值转换成字符串。

用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。可以用下面的代码段测试Boolean型的强制类型转换。

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。还记得吗,parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串,因此"4.5.6"将被转换为"4.5"。用Number()进行强制类型转换,"4.5.6"将返回NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number()将判断是调用parseInt()方法还是调用parseFloat()方法。

最后一种强制类型转换方法String()是最简单的,因为它可把任何值转换成字符串。要执行这种强制类型转换,只需要调用作为参数传递进来的值的toString()方法,即把1转换成 "1",把true转换成"true",把false转换成"false",依此类推。强制转换成字符串和调用toString()方法的唯一不同之处在于,对null或undefined值强制类型转换可以生成字符串而不引发错误。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gannbatte/archive/2008/11/07/3238573.aspx
分享到:
评论

相关推荐

    es6-boilerplate-tdd-browser:该模板提供了在 ECMAScript 6 环境中在浏览器中使用 Jasmine 执行测试的基础设施

    es6-boilerplate-tdd-浏览器该模板提供了在 ECMAScript 6 环境中在浏览器中使用 Jasmine 执行测试的基础设施。如何使用在根目录下启动一个网络服务器在浏览器中加载index.html 开始在test.js编写测试更多的信息该...

    hateoas-hal-link-resolver:将HATEOAS HAL链接转换为您的应用程序要使用的URL

    Resolver是为EcmaScript模块编写的,因此安装后仅一步之遥。 import resolve from 'hateoas-hal-link-resolver' ; 这个定义的用户对象将成为我们所有示例的基础。 const user = { name : 'The Doctor' , _...

    escuelajs-reto-03:Reto 3 Septiembre 14

    塞贡多问题ECMAScript 6(ES6)的使用许可箭头功能模板字符串特塞尔·问题转换为ECMAScript6(ES6)形式的函式,然后按条件返回给Callback Hell del final。贡献如果有人想添加或改进某些东西,我邀请您直接在此存储...

    浅析JavaScript中的对象类型Object

    ECMAScript中Object是所有对象的基础。 理解:Object类型是所有它的实例的基础,换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。 Object的实例都具有以下属性和方法 1.Constructor:保存着...

    《精通Javascript+jQuery》光盘源码

     1.3.1 ECMAScript  1.3.2 DOM  1.3.3 BOM  1.3.4 新的开始  1.4 Web标准  1.4.1 Web标准概述  1.4.2 结构.c表现和行为的分离  第2章ccJavaScript基础  2.1 JavaScript的语法  2.2 变量  2.3 ...

    Python3 JSON 数据解析

    它基于ECMAScript的一个子集。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码。 json.loads(): 对数据进行解码。 在json的编解码过程中,python 的原始...

    challenges:edabit解决的挑战

    使用的技术: JavaScript解决方案com javascript ECMAScript 2021或ES2021基础文档和MDN文档荔枝:一种特殊的,可以解决问题的平台,可以方便地完成激光雷达的复杂实验,并可以进行通用的程序设计和转换。...

    challenges-and-studies:edabit解决的挑战

    使用的技术: Python,JavaScript,HTML和CSS 解决方案com Python 3,Javascript ECMAScript 2021或ES2021基础文档以及MDN文档荔枝: 可以方便地在激光雷达上进行一系列实验的专家,可以进行通用的程序设计和转换。...

    精通JavaScript+jQuery Part1

     1.3.1 ECMAScript  1.3.2 DOM  1.3.3 BOM  1.3.4 新的开始  1.4 Web标准  1.4.1 Web标准概述  1.4.2 结构.c表现和行为的分离  第2章ccJavaScript基础  2.1 JavaScript的语法  2.2 变量  ...

    浅谈JavaScript 中有关时间对象的方法

    ECMAScript中的Date类型是在早期 Java 中的 Java.unile.Date 类基础上构建的。为此 Date 类型使用自 UTC (Coordinated Universal Time, 国际协调时间)1970年1月1日午夜开始经过的毫秒数来保存日期。 在这种数据存储...

    HETIC-P2019-04-2018:用于以高级方式学习JavaScript的资源

    一旦您了解了基础知识,这里是一个非常高级的解释 ES6 https://code.tutsplus.com/articles/use-ecmascript-6-today--net-31582 https://babeljs.io/learn-es2015/ 转换/测试: https ://babeljs.io/repl/ ...

    JavaScript 基础知识 被自己遗忘的

    anyway屬于已定義 有默認空值 一元運算符﹕delete(刪除對開發者定義的對象和方法的引用﹐不能刪除原始的ECMAScript方法) void 运算符对任何值返回 undefined 没有返回值的函数真正返回的都是 undefined。...

    JSONPath:JSONPath(JSON的类似XPath的语法)C#实现

    JSONPath 该项目是JSONPath的C#实现。JSONPath表达式 JSONPath表达式始终以与XPath表达式与XML文档结合使用的相同... 基础脚本语言( <expr> )的可以用作显式名称或索引的替代形式,如下所示: $.store.book[(@.len

    JavaScript权威指南(第6版)(中文版)

    3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 ...

    JavaScript权威指南(第6版)

    3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 ...

    Javascript数组操作高级心得整理

    第一章JavaScript基础 1. 如何实现JavaScript 4 (1) 如何把JavaScript代码放到HTML页面里 4  使用[removed]标签,直接在HTML代码里加入JavaScript代码 4  使用[removed]调用外部的JavaScript(.js文件) 4  如何...

    awesome-coq:精选的Coq框架,库和软件的精选清单

    将Haskell源代码转换为Coq源代码 -Vellvm(已验证LLVM)coq开发。 - 对Coq中单价数学基础的原始发展 -FSCQ是在Coq中编写并证明的经过认证的文件系统 使用Coq证明助手进行定理证明的学习环境 -Coq中的元编程 -...

    JavaScript权威指南(第六版) 清晰-完整

    3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 ...

Global site tag (gtag.js) - Google Analytics