`
star65225692
  • 浏览: 267349 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

Javascript Number对象介绍

阅读更多

/*
Javascript语言中的Number对象
Number是javascript的原始类型(primitive type),值存储在栈上
在C#语言中,能表示数字的类型有很多,如int,float,double,decimal等
C#中的这些东东在javascript语言中,就只有Number对象,仅此一家,别无分店
业务范围涵盖整数和浮点数,插播段广告
*/
var foo = 10
window.alert = function(x){
document.writeln(x + "<br />");
}
/*


整数业务中的进制转换

无论以何种进制表示的数字其运算结果总是以十进制表示
Number公司提供了各种进制的表示法,例如二进制,八进制,十六进制以及十进制和任意进制,
但是不论神马进制的,一但进行运算后均以十进制表示运算结果,下边的输出都是10进制结果:10
知识点,八进制表示时首字符必须是0,十六进制表示时前两位必须是0x
无论您以什么货币支付,美刀,英镑啥的,我们都以RMB结算
*/
//定义16进制fee16 = 0xA,output 10
var fee16 = 0xA; alert(fee16)
//定义八进制fee8 = 012,output 10
var fee8 = 012; alert(fee8)
//十进制fee = 10,output 10
var fee = 10; alert(fee)
/*
从十进制转换到其它进制
使用toString(parameter)基模式就OK,一共两种模式,基模式和默认模式
默认模式就是基模式的重载而已,当在Number对象上调用toString()方法时,实际上调用的是toString(10)
*/
fee = 10iphone5
alert(fee.toString(2))//1010
alert(fee.toString(8))//12
alert(fee.toString(16))//a
alert(fee.toString())//等同于下边一行的代码
alert(fee.toString(10))//10
alert(fee.toString(3))//101
/*

OK,问题出来了,下边这行代码输出神马?
*/
alert("----------")
fee = 010
alert(fee.toString())
/*
前边说了,该公司永远以RMB结算,
所以嘞,010首先会转换成十进制变成8,没注意到这是个八进制表示法?
请认真体会[定义八进制fee8 = 012,output 10]
这里的010会首先进行八进制到十进制的转换,然后调用toString输出结果:8
世界上只有010,011,012,013,014,015,016,017,-010,-011,-012,-013,-014,-015,-016,-017
共计16个数有这个问题,在八进制中没有9,所以09一定不是八进制,继续输出9
而08由于该进位了,没有进位依然不是八进制,输出8,07和07以下是不是八进制无所谓了,转换成十进制还是原值
基于同样的原因,到018之后同样不存在这个问题了,只有010到017调用toString时会减2,-010到-017则加2
C#动态生成XML并在前台用javascript读取
Number对象的特殊值,如非数,无穷大,无穷小,大于无穷大,小于无穷小等,比较简单,看清单
Number.MAX_VALUE,Number类型能存储的值的区间上限
Number.MIN_VALUE,Number类型能存储的值的区间下限
Number.NEGATIVE_INFINITY,当计算结果小于区间下限值是被赋值为NEGATIVE_INFINITY
Number.POSITIVE_INFINITY,当计算结果大于区间上限值时被赋值为POSITIVE_INFINITY
window.Infinity表示无穷大
Number.NaN,表示"非数字",Not a Number,多发生在转换到类型Number失败时,如转换"blue"为数字时就返回NaN
然而NaN不等于NaN,表达式NaN == NaN 结果为false,为什么妮?
举个例子,a是NaN吧,b也是NaN吧,那么代入上述公式,a == b吗?非数的情况太多,无法穷举
一定要做NaN等于判断是推荐使用isNaN函数进行判断,后边有介绍
同样的原因,也不推荐使用wndow.Infinity进行等于运算,推荐的做法是使用方法isFinite验证是否是无穷大数
*/
alert("NaN----------")
alert(NaN == NaN)//false
alert(null == null)//true
alert(undefined == undefined)//true
alert(isFinite(Number.MAX_VALUE + 1))//true
alert(isFinite(Number.MIN_VALUE - 1))//true
/*


Number对象相关的方法
toFixed(parameter)方法返回的是具有指定位数小数的数字的字符串表示
*/
alert(foo.toFixed(2))//output 10.00
/*
toExponential(parameter)方法返回的是用科学计数法表示的数字的字符串形式
*/
alert(foo.toExponential(2))//output 1.00e+1
/*
toPrecision(parameter)方法根据最有意义的形式来返回数字的预订形式或指数形式.
它有一个参数,即用于表示数字的数字总数(不包括指数)
*/
alert(foo.toPrecision(4))//output 10.00
/*
注意:以上三个方法都会进行舍入操作
valueOf方法返回Number的原始值
*/
alert(foo.valueOf())//output 10
/*
再加上上边提到的isNaN,isFinite,toString方法,不重复介绍了.



其它类型转换成Number对象
parseInt(string,radix)
该方法首先查看位置0处的字符,判断它是否是个有效数字,如果不是则返回NaN,方法结束.
如果是,继续查看位置1处字符,进行同样的测试,这一过程将持续到发现非有效数字为止,此时parseInt
将把该字符之前的字符串转换成数字返回,例如1234abcd转换成数字后为1234,遇到a后结束
同toString方法类似,这个方法的第二个参数表示基,默认为10,
即当调用parseInt("1234abcd")时,相当于调用重载方法parseInt("1234abcd",10)
*/
alert("parseInt-------------------------")
var goo = "1234abcd";
alert(parseInt(goo))//output 1234
//等同于
alert(parseInt(goo,10))//output 1234
//表示输出goo的8进制值
alert(parseInt(goo,8))//output 668
//表示输出goo的16进制值
alert(parseInt(goo,16))//output 305441741
/*
parseFloat(string)
parseFloat与parseInt方法类似,从位置0处开始查看每个字符,直到找到第一个非有效的字符为止,
然后把该字符之前的字符串转换成数字,不过,对于这个方法来说,第一个出现的小数点是有效字符,但第二个小数点就是无效字符了,
另一处不同是字符串必须以十进制表示,没有基模式,该方法会忽略前导0,八进制的0908将被解析成908,而对于0xA该方法将返回NaN
*/
alert("parseFloat-------------------------")
alert(parseFloat(goo))//output 1234
/*

Number的一元运算
一元加法对数字没任何影响,但是对字符串却有影响,它将字符串转换成整型
一元减法等同于先执行一元加法,再取负,不累述
这种转换类似parseInt,
需要注意的是,对0x开头的字符串,一元加法将其转换成10进制,而对于0908运算完是908
*/
alert("Number的一元运算--------------")
var foo = "1"
alert(typeof foo)//output string
var foo = +"1";
alert(typeof foo)//output number

分享到:
评论

相关推荐

    WEB开发 之 JavaScript Number 对象.docx

    WEB开发 之 JavaScript Number 对象.docx

    JavaScript程序设计课件:Number对象.pptx

    Number对象 6.4.2 Number对象 1、创建Number对象 在JavaScript中定义一个数字类型的值,即创建一个Number类型的对象。如:156.55。 6.4.2 Number对象 2、Number对象常用属性及方法 成员 类型 作用 MAX_VALUE 属性 在...

    Javascript之Number对象介绍

    本文主要介绍javascript中的Number对象的用法,讲解的很详细,希望能给大家做一个参考。

    JavaScript原生对象之Number对象的属性和方法详解

    主要介绍了JavaScript原生对象之Number对象的属性和方法详解,本文讲解了创建 Number 对象的语法、MAX_VALUE、MIN_VALUE、NaN等属性或方法,需要的朋友可以参考下

    JavaScript程序设计-JavaScript中的Number对象.pdf

    JavaScript程序设计

    JavaScript Number 对象

    JavaScript Number 对象 JavaScript 只有一种数字类型。 可以使用也可以不使用小数点来书写数字。 JavaScript 数字 JavaScript 数字可以使用也可以不使用小数点来书写: 实例 var pi=3.14; // 使用小数点 var x=...

    JavaScript中Number对象的toFixed() 方法详解

    下面小编就为大家带来一篇JavaScript中Number对象的toFixed() 方法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JavaScript的Number对象的toString()方法

    toString()方法可以把Number对象转换成字符串,并返回此字符串,本文给大家介绍JavaScript的Number对象的toString()方法,对javascript对象方法相关知识感兴趣的朋友一起学习吧

    JavaScript对象

    3、Number对象 7 3.1、构造 7 3.2、属性 8 3.3、方法 8 4、String对象 9 4.1、属性 9 4.2、方法 10 5、Array 对象 11 5.1、构造 11 5.1.1、语法 11 5.1.2、参数 12 5.2、属性 12 5.3、方法 12 6、Boolean对象 13 6.1...

    第5章 JavaScript编程技术 课件

    国家级实验教学示范中心联席会计算机学科规划教材 ...5.2.5 Number对象 5.2.6 Data对象 5.3 JavaScript ActiveX编程技术 5.3.1 FileSystemObject 控件 5.3.2 Excel.Application控件 5.3.3 Word.Application控件

    JavaScript核心技术 PDF扫描版

    4.2Number对象 4.3String对象 4.4正则表达式与RegExp 4.5有专门用途的对象:Date和Math 4.6JavaScript数组 4.7关联数组:不是数组的数组 4.8习题 第5章函数 5.1定义函数:细数所有方式 5.2回调函数 5.3函数和递归 ...

    JavaScript中对象介绍

    JavaScript中,除了number、string、boolean、null和undefined,其它所有的值都是对象。对象可以通过字面量来直接声明,也可以通过new操作符来新建。与Java语言不同,JavaScript对象中的property是可以动态添加或者...

    JavaScript详解(第2版)

     9.5.5 Number对象   9.5.6 Boolean对象   9.5.7 Function对象   9.5.8 再论关键字with   9.6 应知应会   练习   第10章 浏览器对象模型:BOM   10.1 JavaScript及浏览器对象模型   10.1.1...

    浅谈JavaScript Math和Number对象

    主要简单介绍了JavaScript Math和Number对象的相关资料,需要的朋友可以参考下

    javascript中Number对象的toString()方法分析

    主要介绍了javascript中Number对象的toString()方法,较为详细的分析了toString()方法的用法及注意事项,非常具有实用价值,需要的朋友可以参考下

    JavaScript对象拷贝与Object.assign用法实例分析

    在 JavaScript 中,对于基本数据类型(undefined、null、boolean、number、string)来说,在变量中存储的就是这个变量本身的值,复制是对值的复制,不存在深浅之说。但C系语言的共同特点中有,存储引用类型(对象)...

    源文件程序天下JAVASCRIPT实例自学手册

    6.5.2 将Number对象转化为字符串 6.5.3 通过原型属性为对象添加属性和方法 6.5.4 常见属性和方法汇总 6.6 Boolean对象 6.6.1 创建Boolean对象的实例 6.6.2 将Boolean对象转化为字符串 6.6.3 常见属性和方法汇总 6.7 ...

Global site tag (gtag.js) - Google Analytics