一. 数据类型
1. 6大数据类型
基础数据类型:Number(数值),String(字符串),Boolean(布尔),null,undefined;
复合类型(对象类型,引用类型):Object(array,function,object);
1. 基础数据类型
1. 监测变量类型(typeof)
typeof(变量);//()可以加,可以不加
2. 获取字符串的长度(length)
变量.length
3. 下标(charAt)
charAt(位置);//从0开头;
用途:用来获取字符串中其中一个字符;
4. NaN
NaN(not a number):没有办法进行计算运算的时候,会出现NaN;
5. null和undefined的区别
null:访问一个不存在对象返回的值,空对象;
undefined:访问一个未初始化变量返回的值(访问一个变量,这个变量只是声明,没有赋值);
2. 复合类型Object(array,function,object)
1.array
储存数据的容器,可以储存任意的数据类型,可以储存任意多个;
var arr = [1,2,"3",true,null,[2]];
console.log(typeof arr);//object
2.function (函数)
用来保存一段代码,在需要的时候调用
使用步骤:
-
声明函数:
function 函数名(){要保存的代码}
function fun(){ console.log("我是函数") }
-
调用函数:
函数名()
;fun(); console.log(typeof fun);//function
3. object:具体的东西(事物)都可以看作对象,万物皆对象;
声明object对象有两种方式:
- 通过关键字new实例化对象(var obj = new Object());
- 通过字面量的形式声明对象(var obj1 = {});
二. 数据强制转换
1. 其他类型转换成Number;
Number(要转换的内容);只能换空字符串和纯数值字符;
var s = "100";
var ss = Number(s);
如:console.log(Number("a"));-->NaN(not a number);
console.log(Number("12a"));-->NaN;
2. 其他类型转换成parseInt;
parseInt(要转换的内容):从左到右开始转换,直到结束或者不能转换时停止,取整(舍弃小数部分);
var fontSize = "16px";
console.log(parseInt(fontSize));-->16;
console.log(parseInt("13.999a"));-->13(舍弃小数部分);
console.log(parseInt("a13.999")); -->NaN(遇到a,不认识,所以后边的就不再转换);
console.log(parseInt("101010",2));-->42;
// 后边的数是前边字符串的进制数,然后转换成10进制;
console.log(parseInt("10",8));-->8;
// 后边的数是前边字符串的进制数,然后转换成10进制;
3.其他类型转换成parseFloat
parseFloat(要转换的内容):从左到右开始转换,直到结束或者不能转换时停止,保留小数部分
console.log(parseFloat("13"));-->13;
console.log(parseFloat("13.5"));-->13.5;//保留小数部分;
4.其他类型转换成String(字符串)
String(要转换的内容):把"要转换的内容"转换成字符串;
String:
console.log(String(true)); -->"true";
// 能把null,undefined,转换成字符串;
console.log(String(null));-->"null";
console.log(String(undefined)); -->"undefined";
console.log(Sting([1]))-->"1";
console.log(Sting([1,2]))-->"1,2";
要转换的对象.toString();:把"要转换的内容"转换成字符串;
var n = 11;
console.log(n.toString(2));-->1011;//括号里边可以写一个数字,用来代表进制,转换成对应进制的字符串;
//null和undefined没有toString操作;
console.log(unll.toString());-->会报错;
console.log(undefined.toString());-->也会报错;
String和.toString的区别
String(); 没法转进制;
.toString(); 括号里可以写数字,用来代表进制,把要转换的内容转换成相应进制的字符串,但是不能把unll和undefined转换成字符串;
三. isNaN 判断是否为数字
isNaN(is not a number): 判断是否是数字,是数字:false;不是数字:true;
**在判断之前,会先使用Number这个方法进行转换;
console.log(isNaN("12"));-->false;
console.log(isNaN("true"));-->false;//Number("true");-->0;
console.log(isNaN("null"));-->false;
console.log(isNaN("12px"));-->true;
四. toFixed(n);四舍五入保留小数
var s = 3.1415926;
console.log(s.toFixed(2));//保留两位小数;