ECMAScript 中有5种简单数据类型

 ECMAScript 中有5种简单数据类型(也称基本数据类型):Undefined,Null,Boolean,Number,和String .还有一种复杂数据类型object.
  object 本质上是由一组无序的名值对组成的。EcmaScript不支持任何创建自定义类型的机制,而所有值最终都将是上述6种数据类型之一。
1:undefined类型: 只有一个值,即特殊的undefined.在使用var 声明变量但未对其加以初始化时,这个变量的值就是undefined.
2:  null类型:只有一个值,从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof 操作符检测null值时会返回"object"的原因。如果定义的变量准备将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用。
    实际上,undefined值是派生自null值的,因此ECMA-262规定对他们的相等性测试要返回true.
    alert(null==undefined) //true
 这里,位于null和undefined之间的相等操作符(==)总是返回true,不过要注意的是,这个操作符出于比较的目的会转换其他操作符。
3:boolean类型
   该类型只有两个字面值:true和false.这个两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0.
  需要注意的是:Boolean 类型的字面值true和false是区分大小写的。也就是说,True和False(以及其他的混合大小写形式)都不是Boolean值,只是标识符.
4:Number类型
  number类型应该是ECMAScript中最令人关注的数据类型,这种类型使用IEEE754格式来表示整数和浮点数值(浮点数值在某些语言中也被称为双精度数值).为支持各种数值类型,ECMA-262 定义了不同的数值字面量格式。
 除了以十进制表示外,整数还可以通过八进制或16进制的字面值来表示
   NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
   NaN本身有有两个非同寻常的特点。首先,任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。其次,NaN与任何值都不相等,包括NaN本身.例如:alert(NaN==NaN) // false
 针对NaN的这两个特点,ECMAScript定义了isNaN()函数。这个函数接受一个参数,该参数可以是任何类型,而函数会帮我们确定这个参数是否"不是数值"。isNaN()在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值。例如字符串"10"或Boolean值。而任何不能被转换为数值的值都会导致这个函数返回true,
例如:alert(isNaN(NaN))  //true
          alert(isNaN(10)); //false (10是一个数值)
          alert(isNaN("10"));  //false (可以被转换成数值10)
          alert(isNaN("blue")) ; //true(不能转换成数值)
          alert(isNaN(true));  //false 可以被转换成数值1
5:String类型
  String类型用于表示有零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。
6:Object类型
    ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建object类型的是咧并为其添加属性和方法,就可以创建自定义对象。例如: var o=new Object();
object的每个实例都具有下列属性和方法:
      constructor    ----------保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object()
      hasOwnProperty(propertyName) ---------用于检查给定的属性在当前对象是实例中(而不是在实例的原型中)是否存在.其中,作为参数的属性名(propertyname)必须一字符串形式指定
      isPrototypeof (object) --------用于检查传入的对象是否是另一个对象的原型。
      propertyIsEnumerable(propertyName)---------用于检查给定的属性是否能够使用for-in语句来枚举。
      toString()            -----------返回对象的字符串表示。
     valueOf() 返回对象的字符串,数值或布尔值表示。通常与toString()方法的返回值相同。
发布了46 篇原创文章 · 获赞 8 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章