JavaScript数据类型和强制类型转换

本文详细介绍了JavaScript的基础知识,包括代码的编写位置、字面量与变量、标识符的规则,以及JS的关键字和保留字。同时,深入讲解了六种数据类型:String、Number、Boolean、Null、Undefined及其使用。还探讨了如何使用typeof进行类型检查以及如何进行不同类型之间的转换,包括String、Number、Boolean的转换方法。此外,文章提到了数字的进制表示以及可能导致精度丢失的浮点运算问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS编写基础注意事项

  1. JS代码需要写到script标签中
<script type="text/javascript">
   		// 控制浏览器弹出一个警告框
   		//alert("这是第一个弹出警告框");
   		
   		//document.write("在body中写一个内容");
   		
   		//console.log("在控制台输出一个内容");
   		
   		//js代码是从上至下一行一行执行的
   		
   	</script>
  1. 可以将JS代码编写到外部js文件中,通过script标签引入,推荐使用
<script type="text/javascript" src="外部js文件路径">
  1. script一但引入外部文件,就不能在内部编写,需要创建一个新的script标签编写
<!-- 可以将js代码编写在onclick属性中 
			当我们点击按钮时,js代码才会执行
			
			虽然可以写在标签属性中,但是不方便维护,一般不使用
		-->
		<button type="button" onclick="alert('点我')">点我一下</button>
		
		<!-- 可以将js代码写在超链接的href属性中,这样点击超链接时,会执行js代码 -->
		<a href="javascript:alert('点我')" >点我一下</a>
    1. js中严格区分大小写
    2. js中每一条语句以分号结尾
      如果不写分号,浏览器会自动添加,但是会消耗资源
      而且有时候浏览器会加错分号
    3. js中会忽略多个空格和换行,所以可以通过缩进美化代码

字面量和变量

字面量: 都是不可改变的值
		如:1,2,3,4.
		字面量都是可以直接使用,但是一般不直接使用
					
变量: 变量可以用来保存字面量,而且可以任意改变
		变量使用更加方便
		可以通过变量对字面零进行描述

标识符

标识符:
	在js中所有的可以由我们自己命名的称为标识符
	例如:变量名,函数名,属性名
	命名一个标识符需要遵守如下规则:
	可以含有字母,数字,_ , $
	不能以数字开头
	不能时JS中的关键字或保留字
	标识符通常采用驼峰命名法
	第一个单词首字母小写,后面每个单词首字母大写

JS关键字和保留字

在这里插入图片描述

数据类型

数据类型指的是字面量类型
JS中有六种数据类型:
	基础数据类型:
		String 字符串
		Number 数值
		Boolean 布尔值
		Null 空值
		Undefined 未定义
	引用数据类型:
		Object 对象

String字符串

在JS中字符串定义需要使用引号
使用双引号或者单引号都可以,但是不能混淆
同类型引号不能嵌套
可以使用\作为转移字符,用来表示特殊符号
\" 表示 "
\' 表示 '
\n 表示换行
\t 表示制表符
\\ 表示 \

Number

在JS中所有的数值都是Number类型:
	包括整数,浮点数
JS中可以表示的数字的最大值,最小值
	Number.MAX_VALUE :1.79769e+308
	Number.MIN_VALUE :4.94066e-324
如果表示的数字超过了最大值,则会返回Infinity表示正无穷
NaN 是一个特殊的数字,Not A Number
console.log(Number.MAX_VALUE); //1.79769e+308
console.log(Number.MIN_VALUE); //4.94066e-324
	
console.log(Number.MAX_VALUE * 2); //Infinity
str1 = "abc" * "bcd";
console.log(str1); // NaN
使用JS进行浮点运算可能会得到一个不精确的结果所以不要使用JS进行对精确度要求比较高的运算
console.log(0.1 + 0.2); //0.30000000000000004

Boolean

Boolean 布尔值:
	主要用来逻辑判断
	只有true 和 false 两种值
	true 表示真
	false 表示假

Null

Null类型的值只有一个,就是null
null这个值专门用来表示一个为空的对象
使用typeof检查一个null值时,会返回Object
var a = null;
console.log(typeof a); //object

Undefined

Undefined(未定义) 类型只有一个,就是undefined
当声明一个变量,但是不给变量赋值时,它的值就是undefined
var b;
console.log(b); //undefined

typeof

使用typeof来检查一个变量的类型
语法:typeof 变量
var str1 = "hello";
console.log(typeof str1); // String

强制类型转换

将一个数据类型强制转换为其它的数据类型
类型转换主要指将其他数据类型转换为String,Number,Boolean

转换为String

方式一:
	调用被转换数据类型的toString()方法;
方法二:
	调用String()函数,并将被转换的数据作为参数传递给函数
	使用String()函数做强制类型转换时
		对于Number和Boolean实际上就是调用的toString()方法
		但是对于null和undefined,就不会调用toSting()方法
			它会将null直接转换为"null"
			将undefined转换为"undefined"
			var a = 123;
			console.log(typeof a); // number
			var b = a.toString();
			console.log(typeof b); // string
			a = a.toString();
			console.log(typeof a); //string
			
			a = true;
			a = a.toString();
			console.log(typeof a); //string
			
			a = null;
			//a = a.toString(); // 报错
			
			a = undefined;
			//a = a.toString(); // 报错
			
			a = 123;
			a = String(a);
			console.log(typeof a); //string
			
			a = null;
			a = String(a);
			console.log(typeof a); //string
						
			a = undefined;
			a = String(a);
			console.log(typeof a); //string

转换为Number

转换方式一:
	使用Number()函数
	字符串转换成数字:
		如果是纯字符串,则直接将其转换成数字
		如果字符串中有非数字内容,则转换为NaN
		如果字符串是一个空船或者是一个全是空格的字符串则转换为零
	布尔值转数字:
		true 1
		false 0
		Null转数字:0
		undefined转数字:NaN
转换方式二:
	专门用来对付字符串
	paresInt() 把一个字符串转换为一个整数,可以将一个字符串中的有效整数提取出来
	parestFloat() 作用和paresInt()类似,不同的是它可以获得有效的小数
	如果对非String使用paresInt()或parseFloat()它会先将转换为String,然后再操作;
			var a1 = "123";
			//调用Number()函数
			a1 = Number(a);
			console.log(typeof a1); //number
			
			var a2 = "123abc";
			a2 = parseInt(a2);
			console.log(a2); // 123
			console.log(typeof a2); //number
			
			var a3 = "123.123asd";
			a3 = parseFloat(a3);
			console.log(a3); // 123.123
			console.log(typeof a3); //number
在JS中,如果需要表示16进制的数字,则需要以0x开头
		如果需要表示8进制的数字,则需要以0开头
		如果要表示2进制的数字,则需要以0b开头
			但是不是所有浏览器都支持
			a = 0xff;
			console.log(a); // 255
			a = 010;
			console.log(a); // 8
			
			a = "010";
			//想这种字符串有些浏览器会当成8进制解析,有些会当成10进制解析
			//可以在paresInt()传递一个第二参数,来指定数字的进制
			a = parseInt(a,8);

转换为Boolean

将其他数据类型转换为Boolean
	使用Boolean()函数
		数字转布尔:
			除了0和NaN 其他都是true
		字符串转布尔:
			除了空字符串,其他都是true
		null和undefined转换都是false
		对象也会转换为true
		   a = 123;
		   a = Boolean(a);
		   console.log(a); //true
		   a = - 123;
		   a = Boolean(a);
		   console.log(a); //true
		   a = 0;
		   a = Boolean(a);
		   console.log(a); //false
		   
		   a = "123"
		   a = Boolean(a);
		   console.log(a); //true
		   a = "";
		   a = Boolean(a);
		   console.log(a); //false
		   a = null;
		   a = Boolean(a);
		   console.log(a); //false
		   a = undefined;
		   a = Boolean(a);
		   console.log(a); //false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩尼诗道-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值