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类型

  • 相关阅读:
    剑指OFFER之复杂链表的复制(九度OJ1524)
    剑指OFFER之二叉树中和为某一值的路径(九度OJ1368)
    剑指OFFER之从二叉搜索树的后序遍历序列(九度OJ1367)
    剑指OFFER之从上往下打印二叉树(九度OJ1523)
    剑指OFFER之栈的压入、弹出序列(九度OJ1366)
    剑指OFFER之包含min函数的栈(九度OJ1522)
    剑指OFFER之顺时针打印矩阵(九度OJ1391)
    剑指OFFER之树的子结构(九度OJ1520)
    剑指OFFER之二叉树的镜像(九度OJ1521)
    VM安装CentOs7虚拟机后无法上网之解决方法
  • 原文地址:https://www.cnblogs.com/dengmj/p/4845251.html
Copyright © 2011-2022 走看看