zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计之数据类型

      首先讲讲关于js文件放置的问题,如果把<script>放在head标签处,浏览器会先加载完该处的所有不使用defer属性的js文件再呈现页面的内容(浏览器在遇到body标签时才呈现内容),如果需要加载很多js文件的话,在呈现页面时会出现明显的延迟,延迟期间浏览器窗口将是一片空白。为了解决这一问题可以在最后才引入js文件,body标签结束之前。

      JavaScript的核心实现了ECAMScript定义的标准,ECAMScript定义了5种简单的数据类型:Undefined、Null、Boolean、String、Number,还有一种复杂数据类型Object。可用typeof操作符判断数据类型。

      1、Undefined类型:

      Undefined只有一个值,undefined,当使用var声明变量但未对其进行初始化时默认会给该变量初始化,这个值就是undefined。

      2、Null是第二种只有一个特殊值得数据类型null。

      3、Boolean类型:关于boolean类型需要注意以下这些类型转换成boolean类型时是true还是false。

    数据类型    转换为true的值    转化为false的值

    Boolean    true          false

    String     非空字符串       ""(空字符串)

    Number    任何非零数值      0和NaN(Not a Number)

    Object      任何非空对象      Null

    Undefined               undefined

      4、数值类型:

      4.1 关于浮点数值的计算,因为是基于IEEE754,所以可能会存在误差。所以不能把两个浮点数相加等于某值用作if的条件表达式。

    1 if(a + b == 0.3){
    2   alert("hehe");      
    3 }

      如果a、b分别等于0.1和0.2,则这个alert语句不会执行,因为这个a+b = 0.3000000000001...... 

      4.2 isNaN():(Not a Number)只要是数字或者能够转换成数字都会返回false。

      4.3 数值的转化,有三个方法Number()、parseInt()、parseFloat().

      Number()较复杂不常用,在处理整数时常用的是parseInt()。parseInt方法在将字符串转换成数字时,会忽略掉字符串前的空格,直到找到第一个非空字符串,如果不是数字或者负号,则会返回NaN,如果第一个是数字字符,则会继续解析第二个字符,直到解析完所有数字字符或者碰到非数字字符停止。parseInt提供了一个类似java的重载方法(javascript没有重载),第二个参数传入需要转化的进制,就可以将数值转换成相应进制的值。

    1 var num1 = parseInt("1234blue");    //1234
    2 var num2 = parseInt("1234blue123");  //1234
    3 var num3 = parseInt("a1234blue123");  //NaN
    4 var num4 = parseInt("");     //NaN
    5 var num5 = parseInt(22.5);    //22
    6 var num = parseInt("AF", 16);

      parseFloat只解析十进制,没有提供解析成8进制等的类似java重载方法。

      5、String类型

      toString():转换成String类型的方法,数值、布尔值、对象、字符串都有toString方法,null和undefined没有

      String():   如果有toString方法则调用toString方法,没有,null 输出“null”  undefined 输出“undefined”。

      6、Object类型

  • 相关阅读:
    IM服务器架构实现
    TCP打洞技术
    Java的守护线程与非守护线程
    SQL中时间为空的处理小结
    tfs
    Silverlight技术总结
    PMS
    Silverlight的TabControl的selectionChanged事件中读取不到TextBox值的bug。
    hahahahahah
    APM文章
  • 原文地址:https://www.cnblogs.com/dengmj/p/4845251.html
Copyright © 2011-2022 走看看