JavaScript 数据类型以及数据类型转换

发布于:2022-07-26 ⋅ 阅读:(629) ⋅ 点赞:(0)

        JavaScript是一种弱类型的动态语言。

                var num;   这里的num是不确定是什么类型的

                var num=10;    这里的num就属于数字型

                var str='pink';     这里的str就属于字符串型

        由此可知,js的变量数据类型是只有程序在运行过程中,根据等号右边的值来进行确认的。

        JavaScript拥有动态类型,同样也意味着相同的变量可用作不同的类型。

1.数据类型的分类

        1)简单的数据类型

        2)数字型 number

数字型里面主要有二进制    八进制(0-7) 十进制和十六进制(0-9和a-f)

另外   Number.MAX_VALUE   表示数字型的最大值  固定写法,直接console.log()输出即可。

        Number.MIN_VALUE   表示数字型的最小值  固定写法,直接console.log()输出即可。

三个特殊值:infinity   无穷大      -infinity  无穷小    NaN(No a number)代表一个非数值

            // 无穷大
			console.log(Number.MAX_VALUE *2);
			// 无穷小
			console.log(-Number.MAX_VALUE *2);
			// 非数字
			console.log('pink'-100);

        验证输出的值是否为一个数值型:

        可以通过isNaN()这个方法用来判断是否为非数字。并且返回一个值,如果是数字返回的false,如果不是数字返回的是true;

            console.log(isNaN(12)); 
			// 该显示的结果是false,所以12是一个数字类型
			console.log(isNaN('pink'));
			// 该显示结果为true,所以该变量不是数字类型

// isNaN判断一个值是否是数字类型
			var userAge=21;
			var  isOK=isNaN(userAge);
			console.log(isOK);
// 该显示的结果是false,所以21是一个数字类型

        3)字符串型

        字符串型可以是引号中的任意文本,其语法为双引号" "和单引号' ',js可以用单引号嵌套双引号,或者双引号嵌套单引号(外双内单,外单内双)

字符串转义字符:

 字符串长度的获取方法:通过length属性可以获取整个字符串的长度。

// 判断该字符串的长度为
			var str = "everybody,nice to meet you"
			console.log(str.length); 

 

        字符串的拼接:拼接符号为+

只要有字符串和其他类型相拼接,最终的结果是字符串类型,数值型相加还是数值型。

            // 字符串类型和布尔类型进行相加,输出的结果为字符型
			console.log('pink'+true);    
			// 里面两个都是数值型,两个值直接相加就可以
			console.log(12+12);
			// 字符型和数值型进行相加,输出的依然是字符串型
			console.log('12'+12);

         字符串拼接加强:我们的变量不要写到字符串里面,是通过和字符串相连的方式实现的。加引号的变量会变成字符串。

// 字符串的拼接
			var myname='坚哥',gz='100万',address='北京四合院';
			console.log('我的名字是'+myname+'我的家住在'+address);

题目 :弹出输入框,用户输入你的年龄,然后弹出警示框,显示用户的年龄?

            // 4.弹出一个输入框,然后警示框显示用户输入的信息
			// prompt 弹出一个输入框,用户可以在这里输入信息
			// alret是弹出一个警示框,给他声明一个变量进行赋值之后,就可以显示用户输入的信息
			// 第一种方式
			var info=prompt('你的年龄是');
			alert('你的年龄是'+info);	
			// 第二种方式
			var info=prompt('你的年龄是');
			var str='您的年龄是'+ info ;
			alert(str);

        4)布尔型 Boolean

布尔型输出只有两个值,true和false  ,但是当他们参加运算的时候true为1,false为0.

// 布尔型
			// 当true参与运算的时候,true为1  false为0
			var flag=true;
			console.log(true+1);
			
			var flag=false;
			console.log(false+1);

        5)如果我们只声明并没有进行赋值,就是undefined未定义数据类型。

// 未定义数据类型 undefined
			var str;
			console.log(str);
			// 输出的结果为undefined
			var variable=undefined;
			// 未定义数据类型+pink  其输出的值为undefinedpink
			console.log(variable+'pink');
			// undefined+数值,最后的输出结果为NaN
			console.log(variable+1);

        6)Null 空值

	        // Null  空值
			var space=null
			console.log(space+'pink')
			// 该值的输出结果为nullpink
			console.log(space+1)
			// 因为null为空值,所以空值加1,该值还是为1

2.获取变量的数据库类型   typeof  检测变量是什么类型

         console.log(typeof+变量名)  可以对前面的数据类型进行输出。

// 获取变量的数据类型
			var num=10;
			console.log(typeof num);
			// 该输出的结果为number
			var timer=null;
			console.log(typeof null);
			// 该输出的结果为object类型

var age=prompt();
console.log(typeof age);
// 这里面输出的就不是数值型,输出的是字符型。

3.字面量

字面量是在源代码中一个固定值的表示方法,通俗来说,就是字面量表示如何表达这个值。

console.log() 输出的时候,可以根据颜色判断其属于什么字符类型。

	        // 字面量
			console.log(18);
			// 数字型是蓝色的
			console.log('18');
			// 字符串型是黑色的
			console.log(true);
			// 布尔型是深蓝色
			console.log(undefined);
			console.log(null);
			// undefined和null是一种浅灰色

 JavaScript数据类型转换

1.转换为字符串类型

            // 转换为字符型
			//1) to String()转换成字符串类型
			var num=10;
			var str=num.toString();
			console.log(typeof str);
			
			//2) 利用String()进行强制转化为字符型
			console.log(String(num));
			
			// 3)通过拼接的方式,拼接其他类型的方式进行转换   隐式转换方法
			var num=10;
			console.log(num + undefined);
			// 当声明的类型为数值类型的时候,就不能同undefined进行拼接,其输出的结果为NaN。
			
			// 数值型和字符型相加
			console.log(num + 'undefined');
			// 变量套上引号的时候,就变成了字符串类型。
			// 布尔类型和字符型进行相加
			console.log(true + 'undefined');
			// 未定义类型和字符型进行相加
			console.log(undefined+'undefined');
			// null空值与字符串类型进行相加
			console.log(null+'undefined');
			// 任何类型同字符串型进行相加的操作时,给类型都为字符串的类型。

 2.转化为数值型

        1)通过 parseInt()进行转换

	        // 1)通过 parseInt(),可以将该类型转换为数值型(该值转化的值为整数的数值,小数是直接裁剪的,不会出现四舍五入。
			
			var age=prompt('请输入你的年龄');
			// 上面输出的的年龄数值的类型为字符串类型
			console.log(parseInt(age));
			// 通过 parseInt()可以转换为数值型
			
			
			console.log(parseInt(3.14));
			console.log(parseInt(3.9));
			// 上面输出的答案都为3,不会出现四舍五入
			
			// parseInt()还可以将数字后面的单位进行去除,只留下数字,但是必须是要以数字进行开头,否则输出的结果为NaN。
			console.log(parseInt('120px'));
			console.log(parseInt('em120px'));

         2)通过parseFloat()进行转换。

// 2) parseFloat() 转换为浮点数  该输出结果保留小数的部分。
			var age=prompt('请输入你的年龄');
			// 上面输出的的年龄数值的类型为字符串类型
			console.log(parseFloat(age));
			// 通过 parseFloat()可以转换为数值型
			
			console.log(parseFloat(3.14));  
			// 该值输出的结果就是3.14 ,它保留了小数部分,也转化成了数值型
			
			// parseFloat()还可以将数字后面的单位进行去除,只留下数字,但是必须是要以数字进行开头,否则输出的结果为NaN。
			console.log(parseFloat('120px'));
			console.log(parseFloat('em120px'));

 

   3)利用Number() 和 算数运算运算符(除了 ’ + ‘ ,-   /   *  都能实现转换为数值型

// 3)利用Number() 可以转换成数值型
			var str='123';
			console.log(Number(str));
		
			// 4)利用算数运算符将字符型转化为数值型 除了+ 。     - * /都可以直接将字符型转换为数值型
			console.log('12' / 1);
			console.log('12' - 1);
			console.log('12' * 1);

例子1: 计算年龄的案例,用户在输入框输入自己的出生年份,然后用当前年份减去用户输入的年份,弹出警示框显示用户的年龄。

// 计算年龄的案例,用户在输入框输入自己的出生年份,然后用当前年份减去用户输入的年份,弹出警示框显示用户的年龄。
			var year=prompt('请输入您的年份');
			var age=2022-year;
			alert('您的年龄为'+age);

例子2:简单的加法器案例:

            // 简单的加法器案例,输入的值为整数
			var num1=prompt('请输入第一个值')
			var num2=prompt('请输入第二个值')
			var result=parseInt(num1)+parseInt(num2);
			alert('结果为'+result);
			
			// 简单的加法器案例,当输入的值为小数的时候
			var num1=prompt('请输入第一个值')
			var num2=prompt('请输入第二个值')
			var result=parseFloat(num1)+parseFloat(num2);
			alert('结果为'+result);

3.转换成布尔型

            // 转换成布尔型  Boolean()函数,可以将其他类型转换为布尔型
			// 只需要记住代表空,否定值会被转换为false;   如: ' '  ,  0 , NaN ,  null  ,  undefined 只有这五个值会转换为false 其他的都会转换为true;
			// 上面的值为true
			console.log(Boolean('12'));
			console.log(Boolean('小白'));
			// 下面的值都为false 
			console.log(Boolean(''));
			console.log(Boolean(0));
			console.log(Boolean(NaN));
			console.log(Boolean(null));
			console.log(Boolean(undefined));

例子3:依次询问用户的信息,最后对数据进行总结,通过alert进行输出。 

            // 依次询问用户的信息,最后对数据进行总结,通过alert进行输出。
			var name=prompt('请输入你的名字');
			var age=prompt('请输入您的年龄');
			var sex=prompt('请输入你的性别');
			var str='您的姓名是:'+name+'\n'+'您的年龄是:'+age+'\n'+'您的性别是:'+sex;
			// 注意,多值从警示框输出的时候,都需要用加号进行连接,并且里面的换行字符也需要使用单引号进行包裹,并用加号连接
			alert(str);


网站公告

今日签到

点亮在社区的每一天
去签到