JavaScript数据类型 数据转换

JavaScript数据类型分为两种:原始类型和对象类型,原始类型有:number(数字)、string(文本)、boolean(布尔值)、null(空)、undefined(未定义);对象类型有:Array(数组)、Function(函数)、Date(时间)、RegEpx(正则表达式)、包装对象、其他内置对象。

typeof 操作符用于检测给定变量的数据类型。

        var message = "some string";
        alert(typeof message);    //"string"
        alert(typeof 95);         //"number"
        var f=function(){alert(message)}
        alert(typeof(f));         //"function"

包装对象包括:Boolean(与布尔值对应的引用类型)、Number(与数字值对应的引用类型)、String(与字符串对应的引用类型). 包装对象就是将原始类型(null、undefined除外)包装秤对象以继承对象方法。

其他内置对象:Global对象、Math对象

原始类型的值是不可变的,原始类型的比较是值得比较;对象的比较不是值的比较,即使两个对象有相同的属性相同的值,也是不相等的。

数据转换

对象转换为原始类型

对象转换为布尔值

所有的对象包括数组和函数都转换为true

new Boolean(false) => true

对象转换为字符串

如果对象就有toString()方法,则调用toString()方法,否则调用valueOf()方法,在否则类型错误异常。

对象转换为数字

如果对象就有valueOf()方法,则调用valueOf()方法,否则调用toString()方法,在否则类型错误异常。

原文地址:https://www.cnblogs.com/YuanSong/p/3897326.html