详解JavaScript的数据类型以及数据类型的转换


Posted in Javascript onApril 20, 2019

基本数据类型

字符串型数据

在JavaScript中,字符串型数据是用引号括起来的文本字符串。
在JavaScript中不区分“字符”和“字符串”,字符也被当做字符串处理。在字符串中可以包括用于特殊目的的字符。

<script type="text/javascript">
		var hello = "你好";  //双引号
		var name = 'fanyoh'; //单引号
		alert(hello + name);
	</script>

数值型数据

JavaScript中用于表示数字的类型成为数字型,不像其他语言那样区分整型和浮点型。数字型用于双精度浮点值来表示数字数据,可以表示(-2^53 ~ +2^53)区间中的值。数字的值可以用普通记数法也可以使用科学记数法。表示方式:

10,10.1,0.1      表示数字
3e7,0.3e7           表示科学记数

 复合数据类型

对象的概念

在面向对象的设计模式中,将数据和处理数据的方法捆绑在一起形成的整体称为对象。它封装了数据和操作数据的方法,使用时要先创建这个对象,用new运算符来调用对象的构造函数。

日期对象

JavaScript将与日期相关的所有特性封装进Date对象,主要用来进行一些与时间相关的操作,比如:获取当前系统时间,使用前要创建该对象的一个实例:

date = new Date();   //直接创建
date = new Date( val ); //指定日期创建
date = new Date(y , m , d[ , h, [ , min[ , sec[ , ms] ]]]);   //指定日期创建

全局对象

全局对象是所有全局方法的拥有者,用来统一管理全局方法,全局方法也就是指全局函数。该对象不能使用new运算符来创建对象实例,所有的方法直接调用即可。

数学对象

数学对象(Math)封装了与数学相关的特性,包括一些常数和数学函数,主要使用一些简单的数学基本运算比如:正弦、余弦、正切、取绝对值等;(不需要用new关键字创建,直接使用即可)

字符串对象

String对象封装了与字符串有关的特性,主要用来处理字符串。通过String对象,可以对字符串进行剪切、合并、替换等等。可以调用该对象的构造函数创建一个实例,其实在定义一个字符串类型变量时也就创建了一个String对象实例。
调用String对象的方法或属性形式如“对象名.方法名”或“对象名.属性名”,构造函数如下:

String(strVal[]);

例:将文本串中将李白的《静夜思》的各个部分分别提取出来,并格式化输出。标题加粗,文本居中对齐,诗歌正文颜色显示灰色

<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			var comment = "静夜思李白床前明月光,疑是地上霜。举头望明月,低头思故乡。";
			var partial = comment.substring(0,3);  //取出标题
			partial = partial.bold();        //标题加粗
			document.write("<p align=\"center\">");//输出HTML标签"<p>",并设置居中对齐
			docunment.write(partial);       //输出标题
			partial = comment.slice(3,5);			//取出作者
			document.write("<br />");				//输出换行标签<br>
			document.write(partial);        //输出作者
			partial = comment.slice(5,17);			//取出第一句诗文
			partial = partial.fontcolor("gray");  //设置颜色为灰色
			document.write("<br />");
			document.write(partial);
			partial = comment.slice(17,29);			//取出第二就诗文
			partial = partial.fontcolor("gray");  //设置颜色为灰色
			document.write("<br />");
			document.write(partial);
			document.write("</p>");
		</script>
	</body>
</html>

数组

数组是JavaScript中另一个重要的基本数据类型。内部对象Array封装了所有和数组有关的方法和属性,其内存在多个数据段组合存储。可以形象的理解为一种有很多连续房间的楼层,每个房间都可以存放货物,提取货物时只需要其对应的房间号即可。
例:创建一个数组用于保存古代几位诗人的名字,通过遍历数组逐一输出每个诗人的名字

<html>
	<head>
		<meta charset="utf-8" />
		<title>数组验证</title>
	</head>
	<body>
		<script type="text/javascript">
			var poets = new Array("王维" , "杜甫" , "李白" , "白居易");
			document.write("古代几位大诗人:<br/>");   //输出标题
			for(n in poets){
				document.write("<li>"+ poets[n]+ "</li>")
			}
		</script>
	</body>
</html>

其他数据类型

函数

在JavaScript中,“函数”充当了两个角色,一个是运用在数据类型方法,另一个运用在子程序设计方面。关于函数这里不做过多介绍 后面深究。

空值

之前所讲过的每一种JavaScript数据类型都有自己的内容,而编程中需要一种类型来表示“什么都没有”。
Null类型就是为此目的而产生的。其表示一个空值。可以使用null和一个变量进行比较测试该变量是否拥有内容。通常用来判断对象或引用是否承购

<script type="text/javascript">
			var x = 10;
			var y = null;
			if(x == null)
			{
				document.write("x的值是空值<br />");
			}
			if(y == null)
			{
				document.write("y的值是空值<br />");
			}
		</script>

不确定型

null值表示一个变量拥有空值。可以理解为已经把“空”给了某个变量,而不确定型undefined则表示一个变量什么都没有得到,连“null”都没有。通常用来判断一个变量是否已经或已经赋值。

数据类型的转换

隐式转换

在程序运行是,系统根据当前上下文的需要,自动将数据从一种类型转换为另一种类型的过程称为隐式转换。
如:document.write()和alert()时很多时候就发生了隐式转换,也就是无论你向这两个方法中输入什么类型的数据最后都会被转换为字符串类型数据。

显示转换

与隐式类型转换相对应的是显示类型转换。此过程需要手动转换到目标类型,要将某一类型的数据转换为另一个类型的数据需要用到特定的方法。

<html>
	<head>
		<meta charset="utf-8" />
		<title>显示转换</title>
	</head>
	<body>
		<script type="text/javascript">
			var priceOfApple = "3元";  
			var priceOfBanana = "3.5元";
			priceOfApple = parseInt(priceOfApple);
			var priceOfBanana2 = parseInt(priceOfBanana);
			priceOfBanana = parseFloat(priceOfBanana);
			if(priceOfApple == 3 && priceOfBanana2 == 3 && priceOfBanana == 3.5)
			{
				document.write(priceOfApple + priceOfBanana2 + priceOfBanana);
			} 
			else
			{
				document.write("没有得到预期结果");
			}
		</script>
	</body>
</html>

以上所述是小编给大家介绍的JavaScript的数据类型以及数据类型的转换详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
jQuery实现背景弹性滚动的导航效果
Jun 01 Javascript
JS实现复制功能
Mar 01 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
Apr 27 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
微信小程序在其他页面监听globalData中值的变化
Jul 15 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
javascript中的相等操作符(==与===区别)
Dec 21 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 #Javascript
函数式编程入门实践(一)
Apr 20 #Javascript
vue路由对不同界面进行传参及跳转的总结
Apr 20 #Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 #Javascript
详解vue使用$http服务端收不到参数
Apr 19 #Javascript
ajaxfileupload.js实现上传文件功能
Apr 19 #Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 #Javascript
You might like
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
javascript知识点收藏
2007/02/22 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
Vue计算属性的使用
2017/08/04 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
python实现事件驱动
2018/11/21 Python
python selenium 弹出框处理的实现
2019/02/26 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
淘宝活动策划方案
2014/02/06 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
小学生优秀评语大全
2014/04/22 职场文书
服务明星事迹材料
2014/12/29 职场文书
博士论文答辩开场白
2015/06/01 职场文书
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers