JavaScript数据类型

JavaScript是弱类型语言,对于数据类型的规范比较松散.具体表现如下:

分类简单,且不明确细分.

声明变量时,不用指定数据类型.

使用不严格,可根据需要自动转换数据类型.

数据类型监察比较简单,也比较混乱

有点:使用限制少,应用灵活.

缺点:开发复杂的程序存在瓶颈,执行效率与强类型语言相比较低.

一.基本数据类型

JavaScript定义了6种基本数据类型

null		//空值.表示不存在,当为对象的属性赋值为null,表示删除该属性
undefined	//未定义.当声明变量,没有赋值时会现实该值.可以为变量赋值为undefined
number		//数值.最原始的数据类型,表达计算的载体.
string		//字符串.最抽象的数据类型,信息传播的载体
boolean		//布尔值.最机械的数据类型,逻辑运算的载体
object		//对象.面向对象的基础

注意:typeof运算符以字符串的形式返回上述6种基本类型之一,但是JavaScript把null归为object数据类型,而function(){}归为function类型.把函数视为一种基本数据类型,而不是object的一种特殊类型.

在JavaScript中,函数是一个比较复杂 特殊的数据结构,它可以是函数类型,又可以是对象类型,也可以是类(构造函数 构造器),用法比较灵活,用户应在具体环境中灵活把握.

二.数值

​ 数值(number)也称为数字或数.JavaScript数值类型不再细分整形,浮点型等,所有数值都属于浮点型.

1.数值直接量

​ 当数值直接出现在程序中时,被称为数值直接量,在JavaScript程序中,直接输入的任何数字都被视为数值直接量.

eg:数值直接量可以细分为整型直接量和浮点型直接量.浮点数就是带有小数点的数值,而整型是不带小数点的数值

var int = 1;				//整型数值
var float = 1.0				//浮点型数值

整数一般都是32位数值,而浮点数一般都是64位数值.

eg:浮点数可以用科学计数法来表示.

var float =1.2e3;

等价于:

var float =1.2*10*10*10

var float =1200

​ 其中e(或E)表示底数,其值为10,而e后面跟随的是10的指数.指数是一个整型数值,可以取正负值.

2.八进制和十六进制数值

JavaScript支持把十进制数值转换为八进制和十六进制数值直接量

eg:十六进制数值直接量:以"0X"或"0x"作为前缀,后面跟随十六进制的数值直接量.

var num = 0x1F4;			//八进制数值
alert(num);					//返回500

十六进制的数值是从09和af数字或字母任意组合,用来表示0~15之间的某个字,超过这个范围则以进制进行表示.

在JavaScript中,可以用number的tostring(16)方法把十进制整数转换为十六进制字符串的形式显示.

eg:八进制数值直接量:以数字0为前缀,其后跟随一个八进制的数值直接量.

var num = 0764;			//八进制数值
alert(num);				//返回500

3.数值运算

​ 使用算数运算符,数值可参与各种计算,如加减乘除等

三.字符串

字符串(string),也称为文本,JavaScript文本部分字符串和字符

1.字符串直接量

​ 字符串由Unicode字符 数字 和各种符号组合而成,字符串必须包含在单引号或双引号之中,

如果字符串包含在双引号中,则字符串内可以包含单引号.反之,可以在单引号中包含双引号.
字符串应在一行内显示,换行显示是不允许的
如果需要字符串换行显示,可以在字符串中添加换行符(\n)
在字符串中添加特殊字符.需要使用转义字符表示,如单引号,双引号等.
字符串中每个字符都有固定的位置,首字母的下标为0,第二个字符的下标为1,以此类推.这与数组元素的位置是一样的,最后一个字符的下标位置是字符串长度减1

2.转义序列.

转义序列,是字符的一种间接表示方式.在特殊语境中,无法直接使用字符自身

JavaScript定义反斜杠加上字符可以表示字符自身.但是一些字符加上反斜杠后会表示特殊含义.这些特殊转义字符被称为转义序列

\0			Null字符(\u0000)
\b			退格符(\u0008) 
\t			水平制表符(\u0009)
\n			换行符(\u000A)
\v			垂直制表符(\u000B)
\f			换页符(\u000C)
\r			回车符(\u000D)
\"			双引号(\u022)
\'			单引号(\u0027)
\\			反斜线(\u005C)
\xXX		由两位十六进制数值XX指定的Latin-1字符
\uXXXX		由4位十六进制数值XXXX指定的Unicode字符
\XXX1~3位八进制数值指定的Latin-1字符.ECMAScript3.0不支持,一般不使用       

3.字符串操作

借助string定义的众多属性和方法,用户可以操作字符串.

4.布尔值

​ 布尔型(Boolean)仅包含两个固定的值(true 和 false),其中true代表"真",而false代表"假".

​ 在JavaScript中,undefined,null,"",0,NaN 和false这6个特殊值转换为逻辑值时为false,被称为假值.除了假值之外,其他任何类型的数据转换为逻辑值时都是true

5.Null

Null类型数据只有一个值,即null,它表示空值.

6.Undefined

undefined是Undefined类型的唯一值,它表示未定义的值.当声明变量未赋值时,或定义属性未设置值时,默认它们的值是undefined.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值