zoukankan      html  css  js  c++  java
  • js 高级程序设计 第三章学习笔记——Number数据类型需要注意的事项

    1、浮点数值 
    虽然小数点前面可以没有整数,但是并不推荐这种写法。

    由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转化为整数数值。显然,如果小数点后面没有任何数字,那么这个数值就可以作为整数值来保存。同样,如果浮点数值本身表示的就是一个整数,那么该值也会被转换为整数。例如:

    var floatNum1 = 1.; //小数点后没有数字——解析为1
    var floatNum2 = 10.0;//整数,解析未10

    浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整数。例如0.1加0.2的结果不是0.3,而是0.30000000000000004。这个小小的舍入误差会导致无法测试特定的浮点数值。例如:

    alert(0.1 + 0.2)//弹出的结果是0.30000000000000004

    3、NaN 
    这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0都会导致错误,从而停止代码执行。但在JS中,0除以0会返回NaN。正数除以0返回Infinity,负数除以0会返回-Infinity。

    NaN本身有两个特点: 
    (1)任何涉及到NaN的操作(比如NaN/10)都会返回NaN 
    (2)NaN与任何值都不相等,包括自己本身。

    alert(NaN == NaN) //false

    针对这个特点,ECMAScript定义了isNaN()这个函数。它在接受到一个值后,会尝试将这个值转化成数值。

    isNaN(NaN); //true
    isNaN(10); //false(10是一个数值)
    isNaN('10'); //false(可以被转换成10)
    isNaN('hello'); //true(不能转换成数值)
    isNaN(true); //false(可以被转化成数值1)
    isNaN('111x');//true
  • 相关阅读:
    笔记44 Hibernate快速入门(一)
    tomcat 启用https协议
    笔记43 Spring Security简介
    笔记43 Spring Web Flow——订购披萨应用详解
    笔记42 Spring Web Flow——Demo(2)
    笔记41 Spring Web Flow——Demo
    Perfect Squares
    Factorial Trailing Zeroes
    Excel Sheet Column Title
    Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/zxyun/p/7020010.html
Copyright © 2011-2022 走看看