精通Javascript系列之数值javascript

来源:互联网 发布:电脑怎么更换网络节点 编辑:程序博客网 时间:2024/06/05 15:34

什么是javascript

javascript是一种通用的、基于原型的、面向对象的脚本语言,它的设计目标是在不占用很多系统和网络资源的情况下提供一种可以嵌入不同的应用程序的通用代码。它不需要依赖于特定的机器和操作系统,即它是独立于操作平台的。使用它的目的是与html超文本标记语言、java脚本语言(java小程序)一起实现在一个web页面中链接多个对象,与web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的html语言中实现的。它的出现弥补了html语言的缺陷,它是java与html折衷的选择。

javascript应用的优点

首先,在javascript这样的用户端脚本语言出现之前,传统的大数据量的提交与验证,都要由用户端浏览器通过网络传输到服务器上进行,这对网络和服务器来说实在是一种无形的浪费,而javascript的出现解决了这一问题,客户端可由javascript实现自动的验证;

其次,javascript可根据用户的需要“定制”浏览器,从而使网页更加友好;它采用小程序段的方式实现编程。像其它脚本语言一样,javascript同样已是一种解释性语言,它提供了一个易的开发过程。

javascript可以使多种任务仅在客户端就可完成,而不需要网络和服务器的参与,从而支持分布式的运算和处理。

javascript是一种解释性的语言,即不需要对javascript程序进行预先编译而产生可执行的机器代码。使它比编译性语言更加易于编程和应用。

javascript的简单性主要体现在:首先它是一种基于java基本语句和控制流之上的简单而紧凑的设计,从而对于学习java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。

javascript的安全性在于,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。

--------------------------------

下面我们来学习一下javascript的数值

在js中如果希望某个变量包含一个数值,那么无需限定其必须是整数或者是浮点数,下面来个例子,更直观一点:

---------------------

例:var a=32.6;

var b=67;

var c=9e5;

---------------------

对于数值类型,如果希望转换为科学计数法,可以采用toexponential()方法,该方法接受一个参数,表示要输出小数倍数:

---------------------

例:

var a=78.9;

alert(a.toexponential(1));

---------------------

js 中对数值的格式化问题

对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿26.9878来说,我们可能会希望它能保留两位小数来说出,即结果为26.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数法来显示,并保留小数点后两位,即结果为5.65e+7,类似例子当然还有很多。

那么在javascript标准之中,是否提供了对这些格式化输出的支持呢,可以说javascript也提供了部分支持,但是提供的并部完善,具体你可以看一下number对象的使用,里面提供了对数字的一些格式化输出,几个函数如下:

---------------------------

toexponential([fractiondigits]):将数字按科学计数法格式返回,其中的fractiondigits值小数点后保留的位数。

tofixed([fractiondigits]):将数字按指定的小数点位数返回,其中的fractiondigits值小数点后保留的位数。

toprecision([precision]):将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。

---------------------------

如果你不会使用上面的函数,我简单给你举个例子:

---------------------------

var num=56.45678;

var rs1=num.toexponential(2);//rs1的值为5.65e+1

var rs2=num.tofixed(2);//rs的值为56.45

var rs3=num.toprecision(2);//rs的值为56

----------------------------

虽然说number对象提供的这些方法能够解决不少的数字转化问题,但是对于许多情况还是不好满足的,例如对百分号的支持等等。

为了解决这个问题,并提供更为强大和灵活的数字格式化要求,jsjava专门提供了的javascript自定义类来进行支持,你可以下载jsjava-1.0.js,引用其中的

src/jsjava/text/numberformat.js或者直接引用jslib/jsjava-1.0.js,举例如下:

-----------------------------

显示结果为:

-89.357%

-53.39

5338.597e-2

-------------------------------


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击