Js中的数据类型
Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object。
一,number
Number数据类型指的是数字,可以为整型,也可以是浮点数。如
var a=12,b=12.5;
二,string
字符串由零个或多个字符构成,字符包括字母,数字,标点符号和空格;需要注意的是
字符串必须放在引号里(单引号或双引号);
var bob=”man”;
alert(“bob”);
alert(bob);
浏览器首先会弹出包含有“bob”的字符串,然后弹出包含有“man”的字符串,前者是直接弹出字符串,后者则是弹出变量的值。
三,boolean
布尔型数据只能有两种值 true 和 false,在js中true和false是关键字。通常,我们设置布尔值时多用于条件的判断。如:
var flag=true;
if(flag){
//js 代码
}
在条件判断语句中我们将所有的判断条件看做一个布尔值(这里需要了解一些布尔值的转换特性)。
四,underfine
underfine通常指的是没有赋值的变量,通过typeof可以对数据的类型进行判断。如
var a,b=underfine;
alert(a);
alert(typeof a);
两次结果都为underfine。
五,null
null是一个只有一个值的特殊类型。表示一个空对象引用。如:
var a=null;
将a清空。
六,object
对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。常见的对象有array,window,document等。
通过创建对象实例就可以调用对象的方法了,如上就是创建了一个Date的对象实例today,today通过调用Date的方法得出了现在的年月日等信息。
数组array是作为经常使用的对象,是由多个 (键-值) 所组成的一个多容器。其索引 默认是从0开始的。创建数组有两种方法:1创建数组对象实例 var arr=new Array(1,2,3);2直接使用面向字面量 var a=[1,2,3];
js中的类型转换
一,强制类型转换
1.强制转成字符串
方法: 强制转换为字符串 xxx.toString()
// var age = 18;
// console.log(typeof age);
// console.log(typeof age.toString());
2.强制转换为数字
方法: -> 1. Number()
-> 2. parseInt()
-> 3. parseFloat()
1.Number():Number必须是数字字符串
console.log(Number('1'));
console.log(Number('1nihao'));
console.log(Number('1.2.1.1'));
2.parseInt(), parseFloat() 字符串必须以数字开头,直到遇见第一个字母结束。
console.log(parseInt('aaa123456789'));
// parseInt()只能返回整数, parseFloat()可以返回浮点数
console.log(parseInt('1234.1123')); // 1234
3.布尔类型转换为数字
方法:
console.log(Number(true)); // 1
console.log(Number(false)); // 0
4. null, undefined 转换为数字
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
5. 布尔类型转换 Boolean()
// 字符串转为布尔类型,空字符串为false;
// 数字转换为布尔类型, 非0 即为true;
6.NaN
// NaN 不是一个数字
// 任何一个NaN 两者是不相等的
console.log(NaN == NaN)
// 检测NaN的方法: isNaN()
二、隐式转换(自动转换)
1.加法中:
如果有字符串,把其他元素的数据类型隐式转为字符串
如果没有字符串,转为数字。
var a = true + (1 + '你好') + null;//true1你好null
var b = true + 1 + undefined;//NaN
var c = true + 1 + null;//2
2. - * / %: 隐式元素转为number类型
var m = '11' - 1;//10
var d = '11' * 1;//11
var n = true + '11' - '20';//NaN
var l = '12' - 0 + false;//12
// 数字字符串转为数字也可以使用下面方法:
// a - 0 || a * 1 || a / 1;
console.log(m, d, n, l)
3.关系运算符:== === != !== > < >= <=中
// 1.如果有布尔类型,先转换为数字类型
// 2.如果有数字类型的,默认都转为数字
// 【注意】: null 跟 undefined 互相相等,等于本身,其他的都不想等。
// === !== 是不会进行类型转换