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

基本数据类型

字符串型数据

在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的数据类型以及数据类型的转换详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 简单介绍JavaScript数据类型之隐式类型转换

    JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它的五种是基本类型或者是原始类型.我们可以用typeof方法打印来某个是属于哪个类型的.不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换.隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等.. typeof '11' //string typeof(11) //number '11' < 4 //false 本章节单

  • JavaScript中数据类型转换总结

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = "123"; a = Number(a); 注意: a) 如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己. b) 如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是NaN. c) 如果要转换的内容是空的字符串,那以转换的结果是0. d) 如果是其它的字符,那么将来在转换的时候结果是NaN. 2)

  • JavaScript实现数据类型的相互转换

    所有语言都有类型转化的能力,javascript也不例外,它也为开发者提供了大量的类型转化访法,本文为大家分享js实现数据类型的相互转换,具体内容如下 字符串转换数字 var a = '1'; console.log(+a); console.log(a++); console.log(-a+3); console.log(parseInt(a)); console.log(parseFloat(a)); console.log(Number(a)); 数字转换字符串 var a = 1; a+

  • javascript 数据类型转换(parseInt,parseFloat)

    javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符型:String(); 例:String(678)的结果为"678" 2.转换为数值型:Number(); 例:Number("678")的结果为678 3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为t

  • JavaScript数据类型转换的注意事项

    1.字符串的不可变性  字符串定义了后,会一直占据内存空间,企鹅该处内存空间(栈)不可被重新赋值. 2.短路运算 ||.&& 二元运算符,返回参与运算的操作数的原值(原数据类型和原数据), 运算结束后,返回导致运算结束的那个操作数. 3.三元运算符 code1?code2:code3;   与if-else 不同: 返回code2或code3的值----code2,code3   都可以空的{}代替:       不能写break,continue. 4.NaN NaN !=NaN, 任何

  • js 数据类型转换总结笔记

    javascript有如下数据类型的转换方法: 一,转换成数字 xxx*1.0 转换成字符串 xxx+"" 二,从一个值中提取另一种类型的值,并完成转换工作. .提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123 .提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55 .执行用字符串表示的一段javascript代码:eval();

  • js数值计算时使用parseInt进行数据类型转换(jquery)

    js获取到的数据默认都是string字符串类型的,如果进行数值的运算必须使用parseInt进行转换成数值的操作. html代码: 复制代码 代码如下: <div id="archive">     <input type="hidden" name="page" value="1" /> </div> js代码: 复制代码 代码如下: $("#archive").bin

  • JavaScript的数据类型转换原则(干货)

    我们都知道JavaScript是一门弱类型(或称动态类型)的语言,即变量的类型是不确定的. var num = 123 ; //123 var num = 'HAHAHA' + num ; // "HAHAHA123" 上面的代码中,变量num起初是一个数值,后来又变成一个字符串.变量类型完全由当前值决定.这种类型就叫弱类型. 我们知道,在编程语言中,数据本身和运算之间都是有类型的. 在强类型的编程语言中,不同类型的变量是不能直接进行运算的. 但是在弱类型语言中不同类型的变量却是可以直

  • javascript基本数据类型和转换

    ECMAScript中有5种基本数据类型:Undefined.Null.Boolean.Number.String.还有1种复杂数据类型-Object,Object实质上是由一组无序的名值对(键值对)组成的.ECMAScript不支持任何创建自定义类型的机制. 由于ECMAScript是松散型的,所以需要一种手段来检测变量的数据类型,typeof就是具有这种功能的操作符.用typeof检测变量可能返回以下某个字符串: "undefined" 变量未定义 "boolean&qu

  • JavaScript中的数据类型转换方法小结

    JavaScript 变量可以转换为新变量或其他数据类型: 通过使用 JavaScript 函数 通过 JavaScript 自身自动转换 将数字转换为字符串 全局方法 String() 可以将数字转换为字符串. 该方法可用于任何类型的数字,字母,变量,表达式: 实例 String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回 Number 方法 toStrin

随机推荐