js数据类型

数据类型

ECMAScript中有5种简单数据类型(也称为基本数据类型),1种复杂的数据类型
基本数据类型
    Undefined,Null,Boolean,Number和String
复杂数据类型
    Object
本质是由一组无序的名值对组成

typeof操作符

typeof 是一个操作符而不是函数,因此圆括号可以使用,但不是必须
typeof 能检测基本数据类型的详细类型,但检测不出引用类型的详细类型
undefined——值未定义
boolean——布尔值
string——字符串
number——数值
object——对象或null
function——函数

Undefined 类型

undefinde类型只有一个值即特殊的undefined
在使用var变量并未对其初始化时,这个变量就是undefined
1
var messages;
alert(message == undefined); //true
2
var message = undefined;
alert(message == undefined); //true
3
var message
//age 未声明
alert(message) //undefinde
alert(age) //产生错误
4
var message
// age 未声明
alert( typeof message ) // undefined
alert( typeof age ) // undefined

Null 类型

null 值表示空指针对象,这也是 typeof 操作符检测 null 值时会返回“object”的原因
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null
Boolean 类型
    该类型只有两个值 true 和 false
    Boolean 会转变成 false 的值
    Boolean 的 false
    String 的 空字符串
    Number 的 0和NaN
    Object 的 null
    Undefined 的 Undefined

Number 类型

浮点数值
    所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面还有数字
    由于保存浮点数值需要的内存空间是保存整数的两倍,因此 ECMAScript 会自动将浮点数值转换为整数
数值范围
    最大数值范围 5e-324
    产出数值范围会自动换成特殊的 (正负)Infinity 值
    isFinite() 函数。这个函数在参数位于最小与最大数值之间时会返回 true
    NaN
    NaN 即非数值(Not a Number)是一个特殊的值
    NaN 值互不相等 alert( NaN == NaN ) // false
    isNaN( ) 函数会帮我们确定这个参数是否 “不是数值”
数值转换
    Number()
    parseFloat()
    parseInt()
    会自动从第0个开始寻找,如果遇到不是数值即停止寻找 返回已寻找的数值

String 类型

字符字面量
    \n 换行
    \r 回车
    \b 退格
字符串特点
    ECMAScript 中的字符串一旦创建是不可能改变
    可以用新的字符串 替换或填充
    转换为字符串
toString() 方法
    数值/布尔值/对象和字符串都有 toString() 方法
    null 和 undefined 没有 toString() 方法
String() 转型函数
    能将任何类型转换成 字符串 类型
    如果有 String() 方法则调用该方法
    如果值是 null,则返回 "null"
    如果值是 undefined,则返回 "undefined"

Object 类型

var o = new Object()
Object 的每个实例都具有下列属性和方法
    constructor
    hasOwnProperty
    isPrototypeOf
    propertyIsEnumberable
    toLocaleString()
    toString()
    valueOf()

猜你喜欢

转载自www.cnblogs.com/qihunliupo/p/9114237.html