JavaScript基本概念——数据类型

ECMAScript中有五种简单的数据类型:Undefined、Null、Boolean、Number、String,一种复杂的数据类型Object
1.Undefined

  Undefined类型只有一个值,即特殊的 undefined。在使用var变量进行变量声明但未对其进行变量赋值,这个变量的值自动赋为undefined。

var msg;
alert(msg == undefined); //true
var msg = undefined;
alert(msg == undefined)  //true

  没有必要显示将变量赋值为undefined,引入undefined值的目的是区分空对象指针未经初始化的变量

  未经声明的变量和包含undefined值的变量不同,前者智能检测类型

var msg;		//变量声明,取得undefined的值
var age 		//变量未声明
alert(msg);		//"undefined"
alert(age);		//报错
alert(typeof msg);		//"undefined"
alert(typeof age);		//"undefined"
2. Null类型

  Null类型仍是只有一个值的数据类型,这个特殊的值时null

var msg = null;
alert(typeof msg);		//"object"

  从逻辑角度来看,null值表示一个空对象指针,这是typeof 返回object的原因,所以如果定义的变量将来用于保存对象,那么建议在声明该变量时将其初始化为null,这样只药检查null值就可以知道相应的变量是否已经保存了一个对象的引用。

3.Boolean类型

  该类型有两个值,true、false(区分大小写,true与True不一样,false与False不一样)。这两个值与数字值不一样,true不一定等于1,false不一定等于0

  虽然Boolean的自面子只有两个,但是在ECMAScript中可以将所有类型的值与这个Boolean的值进行转换。可以调用Boolean()函数。

	var mgs = 'Hello world';
	var msgToBoolean = Boolean(msg);
4. Number类型

 Number类型在js中使用较多。常用的有十进制、八进制、二进制、十六进制的表示方式。
 十进制直接定义var intNum 55;
 八进制以0开头,以8为基数,数字序列为(0~7)。

	var octalNum1 = 071;	// 转为十进制为57
	var octalNum2 = 079;	//无效的八进制,解析为十进制 79;

 十六进制以0x开头,以16位基数,数字序列为(0-9 A-F)。

	var hexNum1 = 0xA;		//解析为十进制为10
	var hexNum2 = 0x1A;		//解析为十进制为26

 二进制以2位基数,数字序列为(0-1),因为计算机指令使用二进制,所以进行二进制运算快。

在进行算术计算时,所有的进制被转为十进制。

(1) js中数值分为四字节的整型数据和8字节的浮点型数据。由于浮点型数据需要的内存空间是整型的两倍,所以js中会在合适的情况下将浮点型的数据转换为整型数据。

  • 浮点型即带一个小数点。
   var  floatNum1 = 1.1;		//浮点型1.1
   var floatNum2 = 1.0;		//转为整型1
  • 可以使用科学计数法表示很大或是很小的数。
	var floatNum1 = 3.0e8;		//表示300000000
	var floatNum2 = 3.0e-7;	//表示0.0000003
  • 浮点数值的最高精度是17位小数。能够表示的整型数字看起来很大,但是其进行算术计算时其精度远远不如整数。
	var a = 0.1+0.2;
	alert(a == 0.3); 
	//false  因为0.1+0.2 不等于0.3,而是等于0.30000000000000004
  • ECMAScript能够表示的最小数值保存在Number.MIN_VALUE中,多数情况下,值为5e-324,最大值保存在Number.MIN_VALUE中,值为1.7976931348623157e+308.超过最大值为Infinity,小于最小值为-Infinity。函数ifFinite()返回true当数值位于最小值和最大值之间。
5.String类型

 用于表示零或多个16位Unicode字符组成的字符序列,即字符串。字符串需用引号引起来,在js中,单引号和双引号都可以表示字符串。

 String类型中有一些特殊的字符字面量,也叫做转义序列,用于表示非打印字符或具有其他用途的字符,如下表所示。

字面量含义
\n换行
\t水平制表
\b退格
\r回车
\斜杠
\ ’单引号( ’ )
\ ‘’双引号
  • 字符串的特点是一旦创建值不可变
6.Object类型

JS中的对象就是一组数据和功能的集合。创建方式为var o = new Object();
对象一旦被创建,就可以向其添加属性和方法。Object的每个实例都有如下的属性和方法。

  • constructor:保存用于创建当前对象的函数,例如Object();
  • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(不是在对象的原型中)是否存在。propertyName为字符串。
  • isPrototype(object):用于检查传入的对象是否是当前对象的原型。
  • propertyIsEnumerable(propertyName):用于检查给定的属性是佛能够是用哪个for-in语句。
  • toLocalString():返回对象的字符串表示。
  • toString():返回对象的字符串表示。
  • valueOf():返回对象的字符串、数值或布尔值表示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Daisy_JuJuJu

你们的鼓励将是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值