JavaScipt中的基本数据类型和自动类型转换机制

JavaScipt中的基本数据类型和自动类型转换机制

  • js中的基本数据类型
Number:数字类型,包含整数,小数和NaN(not a number)
String:字符串和字符类型 
(注意:js中单双引号都可以表示字符串,因为HTML中使用的是双引号,js这里推荐使用单引号)
Boolean: true和false
null: 空类型。对象的占位符
undefined: 未定义,如果一个变量没有初始化值,默认为undefined
定义变量的语法:
	1.使用var定义变量 eg:var i="abc";
	2.js是一门弱类型的语言:定义变量时,不需要规定其数据类型
	3.typeof运算符:获取变量的数据类型
	4.var关键字如果不书写,改变量为全局变量
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			//定义数字类型
			var age=21;   
			var Age=21.3747;
			//定义字符串类型
			var str="abc";
			var str2='abc';
			//定义布尔类型
			var flag=true;
			var flag2=false;
			var v;
			var obj=null;
			//我们可以通过typeof运算符获取改变量的原始数据类型
			console.log(typeof age);
			console.log(typeof Age);
			console.log(typeof str);
			console.log(typeof str2);
			console.log(typeof flag);
			console.log(typeof flag2);
			console.log(typeof v);
			console.log(typeof obj);
		//js中,一条语句后面的分号,可以省略不写,建议写上。
		</script>
	</head>
	<body>
	</body>
</html>
运行结果

在这里插入图片描述

  • js中的自动类型转换机制
当一个运算符想要的数据类型和他期望的不一致时,就会尝试进行数据类型的转换
字符串类型转换成数字,根据字面上的值来转换,如果字面上是个数字,就转换成数字;
如果字面上不是一个有效的数字,就转换成NaN
布尔类型转换成数字,true转换成1,false转换成0
String类型转换布尔类型,空串转换成false,非空串转换成true
数字类型转换布尔类型,0转换成false,非0转换成true
NaN和undefined转换成布尔类型,转换成false
对象转换布尔,对象不为空,转换成true,为null转换成false
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			var num="100";
			//字符串类型转换数字
			var n=num-20;
			console.log(n);
			var str=+"a100";
			console.log(str);
			//NaN参与数学运算结果都是NaN
			var n2=NaN*5;
			console.log(n2);
			//布尔类型转换数字类型
			var flag=true;
			var f=flag+5+false;
			console.log(f);
			//字符串转换布尔类型
			var str2="abc";
			var f2=str2&&true;
			console.log(f2);
			//数字转换布尔类型
			if(10){
    
    
				console.log("true");
			}else{
    
    
				console.log("false");
			}
			//undefined转换布尔类型
			var v;
			if(v){
    
    
				console.log("true");
			}else{
    
    
				console.log("false");
			}
			//对象转换布尔类型
			var obj=new Object();
			if(obj){
    
    
				console.log("true");
			}else{
    
    
				console.log("false");
			}
		</script>
	</head>
	<body>
	</body>
</html>
运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51717449/article/details/113977221
今日推荐