源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript中的Number数字类型学习笔记

  • 时间:2022-10-18 00:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript中的Number数字类型学习笔记
使用IEEE754格式来表示整数和浮点数值。 [b]浮点数值:[/b]该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。浮点数值需要内存空间是保存整数值的两倍。最高精度是17为小数,但在进行算术运算时其精度远远不如整数。 [img]http://files.jb51.net/file_images/article/201605/2016526170346500.png?20164261743[/img] [b]各种数值类型:[/b]十进制,八进制(在严格模式下无效),十六进制 八进制字面量的第一位必须是0,然后是八进制数字序列(0~7)。如果字面值中的数值超出了范围,那么前导0将被忽略,后面的数值将被当做十进制数来解析
070//56
079//79
十六进制字面值的前两位必须是0x,后跟十六进制数字(0~9及A~F)。其中字母A~F可大小也可小写
0xA//10
在进行算术计算时,所有以八进制和十六进制表示的数值最终都将被转换为十进制数值 [b]数值范围: [/b] [img]http://files.jb51.net/file_images/article/201605/2016526170418976.png?201642617426[/img] 如果某次计算中的结果中得到了一个超出javascript数值范围的值,那么这个值将被转换为特殊的Infinity值,该值无法参与下一次的计算,因为Infinity是无法参与计算的数值。如果这个数是正数则被转换为Infinity(正无穷),如果这个数是负数则被转换为-Infinity(负无穷)。
-10/0//-Infinity
10/0//Infinity

[img]http://files.jb51.net/file_images/article/201605/2016526170515183.png?201642617524[/img] isInfinite()判断一个数是否有穷。
var result = Number.MAX_VALUE + Number.MAX_VALUE
console.log(isFinity(result));//false
[b]NaN[/b]
console.log(NaN === NaN)//false

0/0//NaN

isNaN:接收一个参数,会尝试将这个值转换为数值,返回布尔值
console.log(isNaN('10'));//false
console.log(isNaN('bb'));//true
[b]数值转换 [/b]有3个函数可以把非数值转换为数值 Number():使用于任何数值类型。 [b]1.null [/b]
Number(null)//0
undefined
Number(undefined)//NaN
[b]2.布尔值 [/b]
Number(true)//1
Number(false)//0
[b]3.字符串 [/b]
Number('bb')//NaN,非数值字符
Number('123')//123,数值字符
Number('')//0,空串
[b]4.对象 [/b]如果是对象,则调用对象的valueOf()方法,然后依照上述的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。 [b]5.parseInt()/parseFloat():用于将字符串转换为数值。[/b] parseInt():从第一个字符串开始解析,直到解析到非数字字符,可接受两个参数,第二个参数代表不同的进制,默认转换为十进制数。
parseInt('')//NaN,空串
parseInt(22.4)//22
parseInt('12bu')//12
parseInt('10',2)//2
parseInt('10',8)//8
parseFloat():从第一个字符串开始解析,第一个小数点有效,忽略前导0,只能转换为十进制数值。

parseFloat('')//NaN
parseFloat('090')//90
parseFloat('2.3.4')//2.3

[b]总结 [/b] [list] [*]不区分整数值和浮点数, JavaScript中所有数字均用64位浮点数值标识(IEEE 754)。[/*] [*]就像java程序员所熟悉的double类型[/*] [*]取值范围在 ±1.7976931348623157 × 10 308 到 ±5 × 10 −324 之间[/*] [*] 文字: [list]
  • 整数 [list]
  • 十六进制 0x[/*] [*]八进制 0[/*] [/list]
  • [*]浮点表示[/*] [*]Math类 [list]
  • 方法 [list]
  • pow // 求幂[/*] [*][b]round[/b] //四舍五入[/*] [*][b]ceil[/b] //向上取整[/*] [*][b]floor[/b] //向下取整[/*] [*][b]abs[/b] //求绝对值[/*] [*][b]max[/b] //最大值[/*] [*][b]min[/b] //最最小值[/*] [*]sqrt[/*] [*]log[/*] [*]exp[/*] [*]acos[/*] [*]asin[/*] [*]atan[/*] [*]atan2[/*] [*][b]random[/b][/*] [*]sin[/*] [*]cos[/*] [/list]
  • [*]常量 [list]
  • PI[/*] [*]E[/*] [*]LN2[/*] [*]LN10[/*] [*]LOG2E[/*] [*]LOG10E[/*] [*]PI[/*] [*]SQRT1_2[/*] [*]SQRT2[/*] [/list]
  • [/list] [*]无限值 [list]
  • 正无穷 [list]
  • Infinity //rw[/*] [*]Number.POSITIVE_INFINITY // r[/*] [*]1/0[/*] [*]Number.MAX_VALUE + 1[/*] [/list]
  • [*]负无穷 [list]
  • Number.NEGATIVE_INFINITY //rw[/*] [*]-Intifinty //r[/*] [*]-1/0[/*] [*]-Number.MAX_VALUE - 1[/*] [/list]
  • [*]NaN [list]
  • 不与任何值相等 包括它自己.[/*] [*]NaN //rw[/*] [*]Number.NaN //r[/*] [*]0/0 //计算结果为NaN[/*] [/list]
  • [*]Zero [list]
  • Number.MIN_VALUE/2[/*] [*]-Number.MIN_VALUE/2[/*] [*]-1/Infinity[/*] [*]-0[/*] [/list]
  • [/list] [*] Rounding-error [/*] [/list] [/list]
       var x = .3 - .2 
       var y = .2 - .1
       x == y
       x == .1 // => false .3 -.2 不等于 ./
       y == .1 // => true .2 - .1 等于 .1
    
    
    • 全部评论(0)
    联系客服
    客服电话:
    400-000-3129
    微信版

    扫一扫进微信版
    返回顶部