《JavaScript進階程式設計》閱讀筆記(二) ECMAScript中的原始類型

來源:互聯網
上載者:User

2.6 原始類型
  ECMAScript有5種原始類型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof來判斷值的類型。
1、typeof運算子:
複製代碼 代碼如下:var sTemp="test string";
alert(typeof sTemp);//outpus "string"
alert(typeof 95);//outpus "number"

  typeof運算子傳回值只有5種,分別為:如果變數是Undefined型返回"undefined",如果變數是Boolean型返回"boolean",如果變數是Number型返回"number",如果變數是String型返回"string",如果變數是一種參考型別或Null類型返回"object"。
2、Undefined類型
  Undefined類型只有一個值,即undefined。當聲明的變數未初始化和函數無明確的傳回值時該變數的預設值和函數的傳回值都是undefined。需要注意的是值undefined並不同於未定義的值,但typeof不區分這兩種值。參考下面的代碼: 複製代碼 代碼如下:var oTemp;
alert(typeof oTemp); //outpus "undefined"
alert(typeof otemp2); //outpus "undefined"
alert(oTemp==undefined); //outpus "true"
alert(oTemp2==undefined); //causes error
function testFunc(){
//
}
alert(testFunc() == undefined); //outpus "true"

3、Null類型
  Null也是只有一個值的類型,它只有一個專用值null。值undefined實際不是從值null派生來的,因此ECMAScript把它們定義為相等。
1 alert(null == undefined); //outpus "true"
  儘管這兩個值相等,但它們的含義不同。undefined是聲明了變數但未對其初始化時的值,null則用於表示尚未存在的對象。
4、Boolean類型
  Boolean有兩個值true和false
5、Number類型
  Number可以表示32位整數,還可以表示64位浮點數,不同進位間的表示: 複製代碼 代碼如下:var iNum=55;// 10進位
var iNum=070;// 8進位
var iNum=oxAB;//16進位
var fNum=3.125e7;//科學計數法表示浮點數

  幾個特殊值也被定義為Number類型,前兩個是Number.MAX_VALUE和Number.MIN_VALUE,它們定義了Number值集合的外邊界。所有ECMAScript數都必須在這兩個值之間,不過計算產生的數值結果可以不落在這兩個數之間。
  當計算產生的數大於Number.MAX_VALUE時,它將被賦予值Number.POSITIVE_INFINITY,意味著不再有數字值。同樣,產生的數值小於Number.MIN_VALUE的計算也會被賦予值Number.NEGATIVE_INFINITY,也意味著不再有數字值。如果計算返回的結果是無窮大,那麼產生的結果不能再用於其他計算。
  事實上,有專門的值表示無窮大,即Infinity。Number.POSITIVE_INFINITY的值為Infinity,Number.NEGATIVE_INFINITY的值為-Infinity。
  可以對任何數調用isFinit()方法來判斷是不是無窮大。例: 複製代碼 代碼如下:var iResult = iNum*some_really_large_number;
if(isFinit(iResult)){
alert("Number is finite");
}
else{
alert("Number is infinite");
}

  還有一個特殊值是NaN,表示非數(Not a Number)。NaN一般為類型轉換失敗時的值,NaN不能用於算術計算,NaN的另一個奇特之處在於它與自身並不相等,因此推薦使用isNaN(),如: 複製代碼 代碼如下:alert(NaN == NaN); //outpus "false"
alert(isNaN("blue")); //outpus "true"
alert(isNaN("123")); //outpus "false"
alert(isNaN(123)); //outpus "false"

6、String類型
  String是唯一沒有固定大小的原始類型。ECMAScript的字元字面量:
  字面量        含義
  \n         換行
  \t         定位字元
  \b          空格
  \r          斷行符號
  \f          換頁符
  \\          反斜線
  \'          單引號
  \"          雙引號
  \0nnn        八進位代碼nnn表示的字元
  \xnn         16進位代碼nn表示的字元
  \unnnn       16進位的代碼nnnn表不的Unicode字元

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.