JavaScript高級程序設計 閱讀筆記

  1. 在ES6中const, var, let實現了塊級作用域中局部變量,在ES6之前,如何解決局部變量。

    • 像C語言一樣,在函數內部聲明的變量就屬於局部變量;
      數據類型的判定

    • typeof :判斷基本的數據類型,不能區分object,null,array,regexp;

    • instanceof :判斷引用類型的原型,可用於自定義對象類型;

    • Object.prototype.String.call() :判斷所有類型除了自定義對象類型;

    • constructor :得到當前對象創建原型,不能判斷undefined和null;
      基本數據類型:Number,String,Boolean,Undefined,Null
      複雜數據類型:Object
      引用類型:Object,Array,Function
      其中引用類型屬於對象(複雜數據類型)

    • Array instanceof Object; //true
      深度思考

    • 爲什麼null的類型typeof(null)=object
      因爲null的實際意義是空對象指針,在最佳實踐中表示空對象,如果聲明瞭一個空對象 var a={};那麼anull,返回true;==

    -什麼情況下出現undefined?
    undefined表示未聲明/未賦值的變量;根據最佳實踐,需要用到的變量一定要先聲明,這樣,如果出現undefined一定是聲明但未賦值的的變量;

    • 轉型函數
      類似Number(),Boolean(),String();

    -NaN爲什麼是Number類型
    表示Not a Number;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章