您的位置:首页 > Web前端 > javascript > 正文

JavaScript脚本数据类型

更多 时间:2013-8-15 类别:Web前端 浏览量:1779

JavaScript脚本数据类型

JavaScript脚本数据类型

一、number 数字

(1)进制:十进制、八进制(前导0,有效序列0~7,超出范围 前导0被忽略后续数值以十进制计数)

(2)浮点数:小数点后至少一位;最高精度17位小数;存在舍入误差。

(3)数值范围:最小值Number.MIN_VALUE;最大值Number.MAN_VALUE;超出范围有正无穷(Infinity)

和负无穷(-Infinity),检测方法isFinite() ,超出范围为false,合法范围为true。

(4)NaN:非数值;与任何数值都不相等包括其自身;任何涉及NaN的操作都将返回NaN;

检测方法isNaN() 为false时 可转换为数值,为true时不能转换为数值。

(5)数值转换:

Number()

boolean 的转换 值true为1,值false为0;null 转化为0;underfined转化为NaN;String 只包含数字 转化为十进制数 前导0忽略,包含有效浮点格式转换为浮点数值 前导0忽略,包含有效16进制 转换为相同大小的十进制整数,空字符串转为0,其它格式字符串转为NaN;

parseInt()

忽略前置空格,直到找到第一个非空格字符,小数点不是有效数字;参数1是要解析的字符串,参数2是转换时所使用的基数。

parseFloat()

从第一个字符开始解析,遇到无效浮点格式后结束,只有第一个小数点有效,忽略前导0,十六进制数始终为0,没有小数点或者小数点后全是0转换为整数。

 

二、string 字符串

(1)特性:由0个或多个16位Unicode字符组成;单引号与双引号不能交叉使用;是被包裹在单引号或双引号内的,如果字符串的内容需要包含引号,就需要使用“\”符号进行转义;用.length属性访问长度。

(2)转义序列:\n(换行)、\t(制表符)、\b(空格)、\r(回车符)、\f(分页符)、\\(斜杠\)等。

(3)类型转换:

toString() 使用类型有number\boolean\string\object,参数 为number类型的数值基数;

eval() 计算字符串表达式的值并以数值形式返回。

 

  •  
  • C# 代码   复制
  • 
    var statement1 = 'He said "JavaScript is awesome!"'; 
    var statement2 = "He said \"JavaScript is awesome!\"";
    			

     

  •  

    三、boolean 逻辑值

    boolean类型的值是true和false。

    一个值为 true 或者 false 的表达式。如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:

    • 所有的对象都被当作 true。
    • 当且仅当字符串为空时,该字符串被当作 false。
    • null undefined 被当作 false。
    • 当且仅当数字为零时,该数字被当作 false。

     

    四、null 不存在

    null是一种特殊类型,null代表的是一个值,用来表示尚未存在的对象,与其他编程语言类似。

     

    五、undefined 未定义

    undefined是一种特殊类型,undefined代表的是一个没有值被分配的状态。在使用了undefined关键字或者未定义值的时候undefined类型将被创建。只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。


     

    六、类型检查

  • JavaScript提供了检查变量类型的方法。常见的做法是使用typeof运算符来确定一个特定值的类型。
  •  
  •  
  • JScript 代码   复制
  • // 检查各种不同的变量 
    var myFunction = function() { 
    console.log( "hello" ); 
    }; 
    var myObject = { 
    foo: "bar" 
    }; 
    var myArray = [ "a", "b", "c" ]; 
    var myString = "hello"; 
    var myNumber = 3; 
     
     
    typeof myFunction; // "function" 
    typeof myObject; // "object" 
    typeof myArray; // "object" -- 注意! 
    typeof myString; // "string" 
    typeof myNumber; // "number" 
    typeof null; // "object" -- 注意! 
     
     
    if ( myArray.push && myArray.slice && myArray.join ) { 
    // 可能是一个数组 
    } 
    if ( Object.prototype.toString.call( myArray ) === "[object Array]" ) { 
    // 绝对是一个数组 
    // 这是最可靠的检查方法 
    // 去确认一个特定的值是否是数组对象 
    }
    				
  •