js 高级学习笔记 ( 五 ) ECMAScript 原始类型

1, ECMAScript 有五种原始类型 (primitive type )  Undefined , Null , Boolean , Number ,String

 

2, typeof 运算符

 

    typeof 后面有一个参数,就是要检查的变量或值. 

 

var sTemp = "test string";
alert (typeof sTemp);    //输出 "string"
alert (typeof 86);    //输出 "number"

 

3,  对变量或值调用 typeof 运算符将返回下列值之一:

  • undefined - 如果变量是 Undefined 类型的
  • boolean - 如果变量是 Boolean 类型的
  • number - 如果变量是 Number 类型的
  • string - 如果变量是 String 类型的
  • object - 如果变量是一种引用类型或 Null 类型的

4, Undefined 类型

var oTemp ; 

alert(typeof oTemp);  // 输出"undefined"
  
        第一行代码声明变量 oTemp 没有初始值, 将被赋予undefined ,  当声明的变量没有初始化时 ,他   的值就是undefined .
 

var oTemp ;

alter (typeof oTemp) ;   输出"undefined"
alter (typeof oTemp2);  输出"undefined"
 
   变量oTemp2 从没被声明过,也被 typeof 认为是undefined 但使用其他运算符时,会引起错误
   
var oTemp;

alert (oTemp2 == undefined);  // 发生错误

 

   函数没有返回值时, 返回的也是 undefined ...

 

function testFuc(){
}

alert(testFuc() == undefined) ; // 输出true 

 

5,  Null 类型 

 

alert (null == undefined); // 输出true 
 

    ECMAScript 把 null 和undefined 认定为相等. 但是他们的含义是不同的,  undefined 是定义了变量但未对其初始化时赋予该变量值.   null 表示不存在的对象 . 

 

    如果函数或方法返回的是对象, 当招不到这个对象的时候值一般是null .


    
6,  Boolean 类型
     
    有两个值 true ,和 false

7,  Number 类型 
     
     number 类型 既可以表示 32位的整数 , 也可以表示 64位的 浮点数.

var  iNum = 86 ;
      
    number 可以表示八进制数 ,或者16进制数
    八进制数的首字母是0 , 后面跟(1-7)
    
var iNum = 070 ;    // 十进制的值是56--

 

    十六进制的数字 ,
    首位数字是0 ,后面跟x , 再后面跟 0-9, A-F 这些可以是 字母可以是大写的 

var iNum = 0x1f ;     //31
var iNum = 0xBE;     //190    16*11 + 14

 

   整数可以表示成 八进制,或者十六进制 , 但是算数运算返回的都是十进制数.

  
8,  浮点数  
     
var  fNUm = 5.0 ;   // 数字后面加 . 再跟数字     

   浮点数在用于计算前, 真正存储的是字符串.
   对于数值很大, 位数很多的数字 , 可以用科学计数法来表示浮点数 .
   
56180000可以表示成

var  fNum = 5.618e7 ;

例如 0.00000000000000008 可以表示为 

8-E17
 
9, 特殊的Number 值 
  
 Number.MAX_VALUE
   Number.MIN_VALUE
 -----
   NAN (不是数字)  not  a  number
 -----  
   nan 自己和自己不相等 
  
alert (NaN ==NaN) ;   // false 自己和自己不相等

 

   这样子的话, 使用函数 isNaN() 就可以了 

 

alert(isNaN("blue"));  //输出 "true"
alert(isNaN("666"));  //输出 "false"
 
10, String 类型 

     String类型是唯一没有固定大小的原始类型..

     EVMAScript 中没有 char' 类型的字符 , 所以可以用 单引号 或者双引号 来表示字符串. 
     
var sGirl1 = "rabbit";

var sGril2 = 'rabbit';
 
------
ECMAScript  的字符字面量: 

\n 换行
\t 制表符
\b 空格
\r 回车
\f 换页符
\\ 反斜杠
\' 单引号
\'' 双引号

\0nnn     八进制码表示的字符       0-7
\xnnn     十六进制码表示的字符    0-F
\unnn     十六进制码表示的Unicode字符






你可能感兴趣的:(ECMAScript)