JavaScript数据类型及强制转换

一. 数据类型

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 (函数)

用来保存一段代码,在需要的时候调用
使用步骤:

  1. 声明函数:function 函数名(){要保存的代码}

    function fun(){
    	console.log("我是函数")
    }
    
  2. 调用函数:函数名();

    fun();
    console.log(typeof fun);//function
    

3. object:具体的东西(事物)都可以看作对象,万物皆对象;

声明object对象有两种方式:

  1. 通过关键字new实例化对象(var obj = new Object());
  2. 通过字面量的形式声明对象(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(); 括号里可以写数字,用来代表进制,把要转换的内容转换成相应进制的字符串,但是不能把unllundefined转换成字符串;

三. 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));//保留两位小数;
发布了54 篇原创文章 · 获赞 7 · 访问量 2095

猜你喜欢

转载自blog.csdn.net/baobao__/article/details/100135694