javaScript基本数据类型小结

1、ES五种简单数据类型:Undefinded、Null、Boolean、Number、String;
一种复杂类型:Object(本质上由一组无序的名值对组成)
ES6新增symbol,代表了一个匿名的且唯一的值,除了自己不与任何值相等;

2、typeof–检测给定变量的数据类型
“undefined”–这个值未定义
“boolean”–这个值是布尔值
“string”–这个值是字符串
“number”–这个值是数字
“object”–这个值是对象或null
“function”–这个值是函数
typeof是一个操作符而不是函数
*console.log(typeof null) ====object,因为null被认为是空对象引用*
3、undefined

	var message;
	alert(message == undefined)//true
			
	undefined值与尚未定义的变量不一样,但是对未初始和未声明的变量都执行typeof操作符均返回undefined。
	var message;
	var age;//这个变量没有声明过
	alert(age)//产生错误,not defined
	alert(typeof message )//undefined
	alert(typeof age)//undefined

4、Null类型
undefined派生自null值,规定
console.log(null == undefined) //true
var a = null ,这样做的目的是体现null作为空对象指针的惯例,而且也可以 进一步区分null 和undefined
5、Boolean
数据类型及其对应的转换类型
Boolean true false
String 任何非空字符串 “” 空字符串
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined
6、Number
小数点后面带有6个0以上浮点数值转换为e表示,浮点数值的最高精度是17位小数,永远不要测试某个特定的浮点数值。
NaN 非数值,是一个特殊的数值。任何涉及nan的操作都会返回NaN。
alert(NaN == NaN ) //false
alert(isNaN(“10”) ) //false(被隐式转换成10)
alert(isNaN(true) ) //false(被隐式转换成1)

isNaN也适用于对象。当isNaN调用函数时,会先调用对象的vulueOf()方法,然后确定该方法返回值是否可以转换为数值,若不能,接着调用toString()方法,再测试返回值。
Number()的数值转换

		var num1 = Number(“hello world”);//NaN
		var num2 = Number(“”);//0
		var num3 = Number(“0000111”);//111
		var num4 = Number(true);//1

**parseInt()**数值转换:会忽略字符串的空格,直到找到第一个非空字符,解析完所有后续字符或者遇到了一个非数字字符。第二个参数,转换时使用的基数(即多少进制)

		var num1 = parseInt(“1112233hello world”);//1112233
		var num2 = parseInt(“”);//NaN
		var num3 = parseInt(“0xA”);//10--十六进制
		var num4 = parseInt(“11.33”);//11
		var num5 = parseInt(“070”);//56--八进制
		var num6 = parseInt(“70”);//70
		var num7 = parseInt(“0xf”);//15--十六进制
//第二个参数的使用
		var num1 = parseInt("0xAF",16);//175

	[1,2,3].map(parseInt) //[1,NaN,NaN]
	/**
	(1,0)读成10进制 ,0默认为10进制 --1
	(2,1)读成1进制,读2不认识--NaN
	(1,0)读成2进制 ,读3不认识---NaN
	*/

**parseFloat()**数值转换:会忽略字符串的空格,直到找到第一个非空字符,解析完所有后续字符或者遇到了一个非数字字符。

	var num1 = parseFloat(“22.34.5”);//22.34

5、String
特点:字符串一旦创建,它的值就不变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。

		var lang = ‘java’;
		lang = lang + “script”
		```
**字符串转换**:
		toString 数值、布尔值、对象和字符串值都有toString()方法,但null、undefined值没有这个方法。可以用String()函数,规则如下
		如果有toString()方法,则调用该方法;
		如果值是null,返回“null”;
		如果值是undefined,则返回“undefined”

	var value1 = 10;
	var value2 = true;
	var value3 = null;
	var value4 ;
	
	alert(String(value1));//"10"
	alert(String(value2));//"true"
	alert(String(value3));//"null"
	alert(String(value4));//""
6、**Object**
		对象是一组数据和功能的集合。是所有实例的基础。
		每个实例都具有下列方法:
		constructor:保存着用于创建当前对象的函数。
		hanOwnProperty(properyName):用于检查给定的属性在当前对象实例中是否存在.properyName传字符串形式。
		isPrototypeOf(Object);用于检查传入的对象是否是当前对象的原型;
		valueOf();返回对象的字符串、数值或者布尔值表示。通常与toString()方法返回值相同。
















猜你喜欢

转载自blog.csdn.net/weixin_41762742/article/details/84193716