javascript数据类型
基本数据类型
- Undefined
- Null
- Number
- String
- Boolean
- Object
javascript利用 typeof 操作符来判断数据的类型
var message = "this is string"; alert(typeof message); //string alert(typeof 90); //number alert(typeof function() {}) //function
但是我们发现 typeof 判断的值是下面这些
- "undefined"——如果这个值未定义;
- "boolean"——如果这个值是布尔值;
- "string"——如果这个值是字符串;
- "number"——如果这个值是数值;
- "object"——如果这个值是对象或null;
- "function"——如果这个值是函数;
Undefined类型
Undefined类型只有一个值,即很特殊的undefined。在利用var进行变量的声明时,如果没有初始化则默认这个变量的值就是undefined。
var message; alert(message); //undefined
但是一个值是undefined的变量和未定义的变量是不一样的
var message; //var message2;
alert(message); //undefined alert(message2) //出错,变量未定义
Null类型
Null类型同Undefined类型一样,也是只有一个值,就是null。
var message = null; alert(typeof null) // object
当我们利用typeof判断null的类型时,却发现它是object,也就是说,null逻辑上讲,就是一个空的对象指针。
Number类型
从英语的字面含义判断,他就是数字类型,那么也就是说包括整数、浮点数
整数:
最基本的数字形式就是十进制的整数,例如 var number = 55 这种,除了十进制以外,整数还可以通过八进制或者十六进制来表示,但计算时都转化成十进制进行计算
var num1 = 070 //八进制 var num2 = 0xA // 十六进制
小数
也就是浮点数,不过就是有小数点的数字,或者用e表示。
还有一个特殊的NaN,即非数值(Not a Number),也是一个特殊的数值,任何设置NaN的操纵返回的值都是NaN,同时NaN与任何值都不相等。
alert(NaN/10); //NaN alert(NaN == NaN) //false
isNaN函数
验证传进来参数是不是数值,传递进来的参数都被转换成数值,任何不能装换的都返回true。
alert(isNaN(NaN)) //true alert(isNan(11)) //false alert(isNaN("10")) //false alert(isNaN("sdf")) //true
数值转换
Number() 函数
- Boolean转换成数值,true和false分别转换成1、0;
- null 转换成0;
- undefined 转换成NaN
- 字符串
- "10" --> 10
- "010" --> 10
- "1.1" --> 1.1
- "01.1" -->1.1
- "" --> 0
- "sdf" --> NaN
- 有效的十六进制就转换成对应的十进制数值
parseInt() 函数
不如 Number() 函数功能大,只能得到整数
parseFloat() 函数
得到浮点数
String类型
也就是又一对引号(")或者单引号(')表示的,
var s1 = 'this is a string'; var s2 = 'this is a string too';
转换成字符串
即调用 toString() 函数,但是 null 和undefined 没有 toString() 函数
var num = 10; var flag = true; var value1 = null; var value2; alert(flag.toString()); // true alert(num.toString()); // 10 alert(num.toString(2)) //1010 alert(num.toString(8)) // 12 alert(num.toString(16)) //a alert(String(value1)) //null alert(String(value2)) //undefined
Boolean类型
Boolean 类型是与布尔值对应的引用类型。一般我们使用的是boolean 而不用 Boolean 对象
使用时调用Boolean的构造函数,传进 true 或者 fasel 即可
var booleanObject = new Boolean(false);
Object类型
即对象,可以用new操作符来创建,并可以为其添加属性了方法
var person = new Object(); person.name = "xy"; person.age = 24; alert(person.name); alert(person.age);
利用chrome查看
var o = new Object(); console.log(o)
看到的结果截图: