zoukankan      html  css  js  c++  java
  • JavaScript数据类型

    数据类型在不论什么的计算机语言中都比較重要的,JavaScript语言也是面向对象的。


    数据类型
    JavaScript数据类型能够分为:数值类型、布尔类型、字符串类型、对象类型和数组类型等。


    1、数值类型
    数值类型包含了整数和浮点数,整数能够是十进制、十六进制和八进制数。十进制数由一串数字序列组成。它的第一个数字不能为0。假设第一个数字为0,则表示它是一个八进制数。假设0x。则表示它为一个十六进制数。 
    浮点数必须包含一个数字、一个小数点或“e”(或“E”)。浮点数样例例如以下:3.1415、 -3.1E12、0.1e12和2E-12。


    2、布尔类型
    布尔类型有两种值:true 和 false。
    3、字符串类型
    字符串是若干封装在双括号(")或单括号(')内的字符。字符串样例例如以下:
    "fish" 
    'fish' 
    "5467" 
    "a line" 
    4、对象类型
    用new生成一个新的对象,var currentDay = new Date()。
    5、数组类型
    数组类型Array 也是一个对象。我们能够通过var arr = new Array(3)语句创建,当中3是数组的长度,我们能够通过arr.length属性取得数组的长度。


    数据类型字面量
    数据类型字面量(Literals)是在程序中使用的字符表示数据的方式。

    比如常见的型字面量: 

    12 									// 12整数
    1.2 									// 1.2浮点数
    "hello world" 						// 一个内容为hello world的字符串
    true 									// 表示“真”布尔类型值
    false 								// 表示“假”布尔类型值
    {height:10,20}				// 表示一个对象
    [1,2,3,4,5] 							// 表示数组对象
    null 									// 表示不存在的对象
    



    数据类型转换
    JavaScript提供了类型转换函数,这些转换包含:转换成字符串、转换成数字和强制类型转换。
    1、转换成字符串
    我们能够将布尔类型和数值类型转换为字符串类型,布尔类型和数值类型它们都有toString()函数实现转换。实例代码例如以下:
    var found = false;
    console.log(found.toString());	     		//输出false
    
    
    var num1 = 10;
    var num2 = 10.0;
    console.log(num1.toString());	        	//输出 "10"
    console.log(num2.toString());      		//输出 "10"
    
    
    console.log(num2.toString(2));	     		//输出二进制形式  "1010" 
    console.log(num2.toString(8));	     		//输出八进制形式  "12"		
    console.log(num2.toString(16));		//输出十六进制形式  "A"
    


    提示  在面向对象分析和设计过程中。toString()应该叫做“方法”,而不是“函数”。方法要有主体的,而函数没有主体。可是尊重JavaScript本书还是把相似toString()方法称为函数。


    2、转换成数字
    把非数字的原始值转换成数字的函数:parseInt() 和 parseFloat()。实例代码例如以下:
    var num3 = parseInt("12345red");        	//返回 12345
    var num4 = parseInt("0xA");	                //返回 10
    var num5 = parseInt("56.9");	               	//返回 56
    var num6 = parseInt("red");	               	//返回 NaN							①
    
    
    var num6 = parseInt("10", 2);				//返回 二进制数2						②
    var num7 = parseInt("10", 8);				//返回 八进制数8
    var num8 = parseInt("10", 10);				//返回 十进制数10
    var num9 = parseInt("AF", 16);			//返回 十六进制数175
    
    
    var num10 = parseFloat("12345red");		//返回 12345
    var num11 = parseFloat("0xA");			//返回 NaN							③
    var num12 = parseFloat("11.2");			//返回 11.2
    var num13 = parseFloat("11.22.33");		//返回 11.22						④
    var num14 = parseFloat("0102");			//返回 102
    var num15 = parseFloat("red");			//返回 NaN							⑤


    上述代码第①、③和⑤行返回NaN表示无法转换有效的数值。

    第②行代码的parseInt函数有两个參数,第二个參数是基数。基数表示数值的进制。




    3、强制类型转换
    我们还能够使用强制类型转换来处理转换值的类型。JavaScript 提供了三种强制类型转换函数例如以下:

    Boolean(value),把给定的值转换成布尔型。
    Number(value)。把给定的值转换成数值。
    String(value)。把给定的值转换成字符串。
    使用Boolean函数的实例代码例如以下:
    var b1 = Boolean("");			//false - 空字符串								①
    var b1 = Boolean("hello");		//true - 非空字符串							②
    var b1 = Boolean(50);			//true - 非零数字								③
    var b1 = Boolean(null);			//false – null								④
    var b1 = Boolean(0);			//false - 零									⑤
    var b1 = Boolean({name: 'tony'});	//true - 对象								⑥


    Boolean函数能够将转换不论什么类型为布尔类型,当中第①行的""值、第④行的null值和第④行的0值转换后为false。第②行的"hello"值、第③行的50值和第⑥行的对象值转换后为true。
    使用Number函数的实例代码例如以下:
    var n1 = Number(false);		     //0
    var n1 = Number(true);		     //1
    var n1 = Number(undefined);		//NaN										①
    var n1 = Number(null);		     //0										②
    var n1 = Number("1.2");		     //1.2
    var n1 = Number("12");	          //12
    var n1 = Number("1.2.3");		//NaN										③
    var n1 = Number({name: 'tony'});	//NaN										④
    var n1 = Number(50);	          //50


    Number函数能够将转换不论什么类型为数值类型,当中第①行的undefined值、第③行的"1.2.3"值和第④行的对象值转换后NaN。第②行的null值转换后为0。
    提示  null表示无值。而undefined表示一个未声明的变量,或已声明但没有赋值的变量。或一个并不存在的对象。


    使用String函数的实例代码例如以下:
    var s1 = String(null);				//"null"
    var s1 = String({name: 'tony'});		//"[object Object]"


    String函数能够将转换不论什么类型为字符串类型。当中对象情况比較复杂。



    很多其它内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发
    本书交流讨论站点:http://www.cocoagame.net
    欢迎增加Cocos2d-x技术讨论群:257760386
    很多其它精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com

    《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

    京东:http://item.jd.com/11659698.html

    欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

  • 相关阅读:
    AE二次开发,解决子窗体使用父窗体的AxControl控件
    ArcEngine二次开发中运行出现There is no Spatial Analyst license currently available or enabled.
    Js网站开发学习第一天
    Winform开发1
    MySql安装
    Windows ping加时间戳
    XML特性总结
    linux手册中函数名后小括号中数字的含义
    TCP通信
    swap交换分区概念
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6755110.html
Copyright © 2011-2022 走看看