Javascript的数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript的数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5226字,纯文字阅读大概需要8分钟。
内容图文
Javascript的数据类型分为基本类型(也可以叫值类型)和引用类型。
基本类型 是值访问的,在程序中可以直接操作;基本类型包括5种数据格式:Undefined、Null、Bollean、Number和String。例如:
1
var test1=1;//Number 2var test2="str";//String 3var test3=true;//Bollean 4var test4=null;//Null5var test5;//Undefined
引用类型 是保存在内存中的对象,它们的基类都是Object;在实际操作中我们不能直接访问到它在内存中的位置,操作的是它的引用,它主要分Function、Array、Math、Date和自定义创建的Object对象等。
Object类型
Object类型是JavaScript中使用最多的一种类型。虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它确实是非常理想的选择。
创建Object类型有两种方法:第一种是使用构造函数的方式创建(即new关键字)
另一种是使用对象字面量的方式创建
对象字面量创建还可以这样表示
这两种创建Object类型的的效果是等价的,当时我们一般会选择第二种:因为对象字面量创建的时候代码量更少,不需要调用构造函数,而且给人封装的感觉;实际上对象字面量也是向函数传递大量可选参数的首选方式。
Function类型
Function也叫函数、方法。创建函数的方式有两种:
函数声明的方式,这也是常用的方式。
变量定义的方式。
虽然这两种创建函数的方式功能是一样的,但是实际上它们还是有区分的:在预编译的时候,声明的方式会直接给函数分配内存空间,在执行的时候就可以调用了;而定义的方式会吧fun当成变量存起来,在预编译的时候不会赋值,所以在执行的时候会出现未定义的情况。
1 var a = 1; 2 3 console.log(add_1(a)) 4 5function add_1(num) {//直接声明 6return num + 1; 7 } 8 9 console.log(add_2(a)) 1011var add_2 = function (num) {//变量定义12return num + 1; 13 }
会出现如下结果
所以在创建函数的时候,还是推荐使用第一种方式。
Array类型
数组是Javascript中最常用的类型之一;与其它编程语言中的数组最大的区别是,Javascript中的数组的每一项都可以保存不同类型的数据,也就是说,可以在数组的第一项保存数值,第二项可以保存字符串,第三项可以保存对象...
创建数组的的基本方式有两种:第一种是利用构造函数创建,例如下面的代码所示。
也可以预先规定数组的长度
如果预先知道了数组应该包含的项,也可以这样创建
在Javascript中,我们还可以省略new关键字
第二种创建数组的方式是直接用字面量而不用构造函数的方式:
尽量不要在数组最后一项加逗号,因为兼容性的原因,不同浏览器的处理方式不一样。
数组的访问:数组可以直接用下标的方式进行访问
Javascript中的数组长度是可以自适应的,即使你在定义的时候已经规定它的长度。
Date类型
JavaScript中的Date类型是在早期Java中的java.util.Date类基础上构建的。为此,Date类型使用自UTC 1970年1月1日零时开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的 285 616年。
要创建一个日期对象,使用new操作符和Date构造函数即可。
在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想根据特定的日期和时间创建日期对象,必须传入表示该 日期的毫秒数。为了简化这一计算过程,JavaScript提供了两个方法:Date.parse()和Date.UTC()。
其中,Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数。JavaScript没有定 义Date.parse()应该支持哪种格式,因此这个方法的行为因实现而异,而且通常是因地区而异。将地区设置为美国的浏览器通常都接受下列日期格式:
● "月/日/年",如:6/13/2204
● "英文月名 日,年",如:January 12,2004
● "英文星期几 英文月名 日 年 时:分:秒 时区",如:Tue May 25 2004 00:00:00 GMT-0700
例如,要为2004年5月25日创建一个日期对象,可以使用下面的代码:
如果传入Date.parse()方法的字符串不能表示日期,那么它会返回NaN。实际上,如果直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()。换句话说,下面的代码与前面的例子是等价的:
Date.UTC()方法同样也返回表示日期的毫秒数,但它与Date.parse()在构建值时使用不同的信息。Date.UTC()的参数 分别是年份、基于0的月份(一月是0,二月是1,以此类推)。月中的哪一天(1到31)、小时数(0到23)、分钟、秒以及毫秒数。在这些参数中,只有前 两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为1;如果省略其他参数,则统统假设为0。
var y2k = new Date(Date.UTC(2000, 0));//GMT时间2000年1月1日零时var allFives = new Date(Date.UTC(2005,4,5,17,55,55));//GMT时间2005年5月5日下午5:55:55
如同模仿Date.parse()一样,Date构造函数也会模仿Date.UTC(),但有一点明显不同:日期和时间都基于本地时区而非GMT来创建的。可以将前面的例子重写如下:
var y2k = new Date(2000,0); //本地时间2000年1月1日零时var allFives = new Date(2005,4,5,17,55,55);//本地时间2005年5月5日下午5:55:55
Math对象
JavaScript中的Math对象提供了大量的算术运算功能和数值操作方法。
JavaScript中的Math对象的与众不同之处在于,它是一个全局对象。在使用Math对象之前,既不需要将一个变量声明为Math对象,也不需要定义一个新的Math对象,JavaScript将自动地创建好Math对象,我们只须直接使用它即可。这使得Math对象使用起来很容易。
Math对象的属性中包含一些经常使用的数学常量,如PI属性(即圆周率近似值3.141592653589793)。通常情况下,要访问这些属性,只须在Math之后加上一个点号(.),然后写出要访问的属性名。例如,要计算一个圆的面积,可以使用如下代码:
1 var radius = prompt("Give the radius of the circle", ""); 2var area = (Math.PI)*radius*radius; 3 document.write("The area is " + area);
1.abs()方法
abs()方法返回所传入参数的绝对值。实际上,绝对值就是一个数去掉正负号之后的数值。例如,–1的绝对值是1,–4的绝对值是4等。对于正数,其绝对值就是该正数本身,例如,1的绝对值就是1。
例如:下面的代码对–101取绝对值,并把结果输出在页面上:
2.ceil()方法
ceil()方法用于向上取整,它把一个数值向上舍入到最接近的最小整数,即对于Math.ceil(n)方法,它将返回大于或等于n的最小整数。例如,10.01向上取整后为11,–9.99向上取整后为–9(这是因为对于负数,–9大于–10)。ceil()方法只有一个参数,即需要向上取整的数值。
ceil()方法的使用与第2章中介绍过的parseInt()方法是不同的。parseInt()方法只是简单地截断小数点之后的所有数字,把整数部分保留下来。而ceil(n)方法将向上取整,返回大于或等于n的最小整数。
例如,下面的代码将在页面上输出两行信息,第一行为ceil()方法对101.01向上取整的结果102,第二行为parseInt()方法取整的结果101:
1 var myNumber = 101.01; 2 document.write(Math.ceil(myNumber) + "<BR>"); 3 document.write(parseInt(myNumber));
3.floor()方法
与ceil()方法类似,floor()方法也用于对一个数字进行取整,所不同的是,floor()方法用于向下取整,它把一个数值向下舍入到最接近的最大整数,即对于Math.floor(n)方法,它将返回小于或等于n的最大整数。例如,Math.floor(10.01)将返回10,而Math.floor(–9.99)将返回–10。
4.round()方法
round()方法用于对一个数值进行四舍五入,即当一个数小数部分大于等于0.5时,则向上舍入,小于等于0.5时则向下舍入。
例如,对于如下代码:
1 var myNumber = 44.5; 2 document.write(Math.round(myNumber) + "<BR>"); 3 myNumber = 44.49; 4 document.write(Math.round(myNumber));
对于44.5将四舍五入为45,而对于44.49则四舍五入为44。
关于取整方法的小结
正如上面所述,ceil()方法、 floor()方法和round()方法都可以进行取整操作。但各个方法的取整操作是不同的。对于floor(n)方法,它返回小于或等于n的最大整数; 对于ceil(n)方法,它返回大于或等于n的最小整数;而round(n)方法将对n进行四舍五入。这几个方法可能容易混淆,表4-3格则用实例进行了 说明:它显示了一列数值,以及将这些数值作为参数分别传入parseInt()函数、ceil()方法、floor()方法和round()方法时的返回 值。
原文:http://www.cnblogs.com/luozuxiong/p/3598174.html
内容总结
以上是互联网集市为您收集整理的Javascript的数据类型全部内容,希望文章能够帮你解决Javascript的数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。