js-数据类型

 

ECMAScript中有五种数据类型(也称为基本数据类型)

  1. Undefined
  2. Null
  3. Boolean
  4. Number
  5. String

和一种复杂的数据类型Object

 

如果我们想知道给定变量的数据类型,可以用typeof操作符

下面介绍一下它的用法

 

var myname = “Hello word”;

alert(typeof(myname));    //”String”

alert(typeof myname));    //”String”

alert(typeof 66);        //”Number”

 

从上面的程序运行就可以看出来,typeof操作符的操作数可以是变量,也可以是一个数字字面量,程序中的圆括号不是一定要加

 

  • Undefined类型

它的英文意思就是不明确的,为下定义的。不错在ECMScript中,Undefined类型就只有一个值,即特殊的undefined,我们在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined

 

var myname;

alert(message == undefined);   //true

 

二Null类型

Null类型同样也只有一个值,null.

var money = null;

alert(typeof money); //object

 

这里为什么会返回一个”object”呢?原因是null 从逻辑角度上来看就是一个空对象指针

 

三Boolean

该类型有两个字面值:True和False。我们可以对任何数据类型的值调用Boolean()调用Boolean()函数

 

四、Number类型

Number类型使用IEEE754格式来表示整数和浮点数值。

整数可以通过十进制、八进制、十六进制的字面量来表示。其中八进制字面量在严格模式下无效。

1.在表示浮点数值时,该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。小数点前面可以没有整数。不推荐这种写法。对那些极大或极小的数值,可以用e表示法(即科学计数法)表示的浮点数值表示。

 

2.ECMAScript能够表示的最小数值保存在Number.MIN_VALUE中,最大的数值保存在Number.MAX_VALUE中。想要确定一个数值是不是有穷的,可以使用isFinite()函数

 

3.NaN

NaN即表示一个非数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。任何涉及NaN的操作都会返回NaN。NaN与任何值都不想等,包括NaN本身。我们可以通过isNaN()函数来确定这个参数是否“不是数值”。

 

4.数值转换

我们可以利用Number()、parseInt()、parseFloat()

具体使用方法这里不做详细说明,介绍几个例子

Number()使用方法

var  num1=Number(“hhhh”);  //NaN

var  num2=Number(“ ”);  //0

var num3=Number(“011”); //11 忽略其前导0

var num4=Number(true);   //1

 

parseInt()使用方法

var num1 = parseInt(“1234blue”);   //1234

var num2 = parseInt(“ ”);          //NaN

var num3 = parseInt(“0xA”);       //10 (十六进制)

 

 

五、String类型

String类型用于表示由零或多个16为Unicode字符串组成的字符序列,即字符串。字符串可以由双引号(”)或者(‘)表示

  1. 字符字面量

String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符。如\n换行

我们可以通过length属性来获得字符串的长度

  1. ECMAScript中的字符串是不可变的,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量

如 var lang = “Java”;

   Lang = lang +”Script”;

  1. 转换为字符串

把一个值转换为字符串有两种方式,第一种是使用toString()方法(null和undefined值没有这个方法)在不知道是不是null或undefined的情况下,还可以使用转型函数String(),

这个函数能够将任何类型的值转换为字符串

 

六、Object类型

ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象的名称来创建。如:

var obj = new Object();

 

可以省略后面的圆括号,但不推荐

在ECMAScript中,Object类型是所有它的实例的基础。也就是说,Object类型所具有的任何属性和方法也同样存在与更具体的对象中。

Object的每个实例都具有下列属性和方法

constructor:保存着用于创建当前对象的函数。

 

hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中参数名(propertyName)必须以字符串形式指定

 

isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型

 

propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。

与hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定

 

toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应

 

toString():返回对象的字符串来表示

 

valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

猜你喜欢

转载自blog.csdn.net/qq_41795427/article/details/82843965