zoukankan      html  css  js  c++  java
  • 读书笔记之JavaScript中的数据类型

      JavaScript严格意义上分为ECMAScript、DOM、BOM。ECMAScript是一门真正意义上的语言,独立于浏览器,浏览器只是它的一个宿主环境。DOM(文档对象模型),为ECMAScript操作浏览器网页内容提供接口。BOM(浏览器对象模型),用来控制浏览器(宽度、高度、新窗口打开网页……),提供与浏览器交互的接口。以上三种结合起来,才是真正的JavaScript。

      ECMAScript的变量类型是松散的,即为弱类型,用var声明一个变量以后就可以保存任何类型的数据。如果你是从Java、C、C++甚至C#等强类型的语言转过来学JavaScript的话,可能会有些不适应。表面上看脱离的数据类型的束缚可能会很轻松愉快自由,但是实际上这种弱类型的语言,要注意的地方会更多,让我觉得条条框框比强类型语言还多。

      ECMAScript中有5中简单数据类型(基本数据类型),分别是:Undefined、Null、Number、String、Boolean,还有一种复杂类型数据:Object。

      Undefined:Undefined类只有一个特殊的值,即为undef。使用var声明了变量但是还未赋值的变量,默认值就是undefined。

      Null:Null类也只有一个特殊的值,即为null。null表示空对象指针,实际上undefined是派生自null的。所以在判断两者是否相等时,返回值为true。

         

    1 alert(null == undefined); //true

      Boolean:Boolean类有两个值,即为true和false。即为可以使用Boolean()函数强制转换其他类型的数据到bool值。对应关系如下:

    数据类型 转换为true的值 转换为false的值
    Boolean true false
    String 任何非空字符 “”(空字符串)
    Number 任何非零数字值(包括无穷大) 0和NaN
    Object 任何对象 null
    Undefined n/a(不适用) undefined

      Number:ECMAScript中最引人关注的数据类型。实际上Number类型包括浮点类型和整数类型。

          整数类型除了可以表示十进制整数以外,还可以表示八进制以及十六进制。如果要保存八进制数,数字开头必须是0,然后是八进制数,如果数中有某一位或多位大于7

          ,则会被当做十进制解析,前导零将会被忽略。十六进制开头必须是0x,后面的a~f可以大写也可以小写。

          

    1 var intNum = 55;             //整数
    2 
    3 
    4 var octalNum1 = 070;      //八进制的56
    5 var octalNum2 = 079;      //无效的八进制数,被当做十进制数解析,79
    6 var octalNum3 = 08;        //无效的八进制数,被当做十进制数解析,8 
    7 
    8 var hexNum1 = 0xA;       //十六进制的10
    9 var hexNum2 = 0x1f;      //十六进制的31

          浮点数值也就是数值中包含一个小数点,并且小数点后面至少有一位数字的数。如果小数点后面没有任何数字,则会被当做整数存储。

     

    1 var floatNum1 = 1.;    //解析为1
    2 var floatNum2 = 10.0  //解析为10

          对于极大或极小的浮点数可以用科学计数法表示。浮点数的最高精度是17位小数,但是在计算时精度却远不如整数,小小的舍入误差会导致无法测试特定浮点数的值。      比如0.1+0.2的值不是0.3,而是0.30000000000000004.因此,永远不要试图测定某个浮点数的值。

          NaN:即为非数值(Not a number)。任何涉及NaN的操作都会返回NaN。NaN与任何值都不相等,包括NaN本身。

    alert(NaN == NaN);   //false

          

  • 相关阅读:
    linux开机启动服务的修改与查看
    我从百度来30万IP的经验
    JavaScript静态页面值传递之Cookie篇
    采用HttpModules来重写URLs(实践篇)
    JavaScript,5种调用函数的方法
    [JS]详尽解析window.event对象
    mysql锁定单个表的方法
    mysql常见错误提示及解决方法
    浏览器Chrome 3.0.195.21 Final
    svn windows和linux安装笔记
  • 原文地址:https://www.cnblogs.com/DM428/p/6759856.html
Copyright © 2011-2022 走看看