javaScript數據類型

javaScript 總共有兩種數據類型:java

  基本數據類型(或者原始數據類型)按值傳遞number  string  boolean   undefined   null  symbol函數

  複雜數據類型(或者引用數據類型)按引用傳遞object   spa

能夠使用 typeof 操做符簡單的檢測給定變量的數據類型:prototype

      檢測數值(包括NaN,Infinity)返回 "number";對象

      檢測字符串 返回 "string";繼承

      檢測布爾值 返回 "boolean";ip

      檢測一個變量未定義,或者未賦值 ,返回 "undefined";原型鏈

      檢測一個對象或者null 返回 "object";字符串

      檢測一個函數 返回 "function";get

      檢測一個Symbol值 返回 "symbol" symbol 是ES6新增基本數據類型

 Number  轉換爲數值  三種方法:Number(),parseInt(),parseFloat()

                Number()方法,它會 「計算」 要轉換的數值,而且會忽略前導0,可是能夠轉換16進制數;

                                        Number( '  ' ) //  0

                                        Number( ' 12a ' ) // NaN 

                                        Number( ' true ' ) // NaN

                                        Number( true ) // 1

               parseInt()parseFloat(),它們不會 「計算」 ;

                          parseInt() 不識別小數點,但能夠提供第二個參數:轉換是使用的基數,就是要解析的值是多少進制;能夠轉換8/16進制;

                          parseFloat() 只識別第一個小數點,會忽略前導0,只解析十進制數;

                                       parseInt( ' ' ) 、parseFloat( ' ' ) // NaN   

                                       parseInt( ' 12a' )  // 十二、parseFloat( ' 12.1a' ) // 12.1

                                       parseInt(true) 、parseFloat( true) // NaN     

String   轉換爲字符串  String(),會調用 toString() 方法(若是有的話),null、undefined沒有toString方法,返回它們自己;

                          也能夠使用加號操做符(該值能夠進行加運算的話)與一個空字符串加一塊兒:值 + ' ';

Boolean  轉爲布爾值  Boolean() ,這六個值轉爲false:false、0、' '、NaN、null、undefined; 其它都轉爲true;

Undefined、Null 兩個特殊的類型,Number(null) // 0、 Number(undefined) // NaN

 

Object   對象的屬性以及方法:

                         prototype  原型對象,指向另外一個對象,本對象的屬性繼承自它的原型對象;

                                          原型的獲取方法:標準方法 Object.getPrototypeOf(obj)    非標準 obj.__proto__ 

                         constructor  構造函數,它保存着用於建立當前對象的函數;

                                           構造函數的原型的constructor屬性指向構造函數自己: Foo.prototype.constructor === Foo;

                         obj.hasOwnProperty(' 屬性名 '),判斷該屬性是否爲obj對象的自有屬性;

                                            結合 in 操做符 能夠判斷該屬性是自有屬性仍是共有屬性;

                         A.prototype.isPrototypeOf(B),檢測一個對象(A.prototype)是否在另一個對象(B)的原型鏈上;

                                           也就是說B對象是否繼承自A.prototype;

                         obj.propertyIsEnumerable(' 屬性名 ')   檢測對象obj的屬性是否能夠用 for-in 枚舉;

                                            for-in 能夠遍歷自身以及繼承的可枚舉屬性; Object.keys( ) 只遍歷自身可枚舉屬性;

                         valueOf() 、toString()、toLocaleString()  返回對象的字符串表示; 

相關文章
相關標籤/搜索