JavaScript中,object轉換為boolean的操作非常簡單:所有的object轉換成boolean後均為true;即使是new Boolean(false)這樣的object在轉換為boolean後仍然為true。
複製程式碼 程式碼如下:
var x = new Boolean(false);if(x){ console.log("x is true");}
將object轉換為string或number時,JavaScript會呼叫object的兩個轉換函數:toString()與valueOf()。
toString()
toString()函數的作用是傳回object的字串表示,JavaScript中object預設的toString()方法傳回字串」[object Object]“。定義類別時可以實作新的toString()方法,從而傳回更有可讀性的結果。 JavaScript對於陣列物件、函數物件、正規表示式物件以及Date日期物件均定義了更具可讀性的toString()方法:
1.array的toString()方法將傳回以逗號分隔的數組成員。例如,[1,2,3].toString()會回傳字串”1,2,3″。
2.function的toString()方法將傳回函數的文字定義。例如,(function(x){return x*2;}).toString()會回傳字串」function(x){return x*2;}」。
3.RegExp的toString()方法與function的toString()方法類似,將傳回正規表示式的文字定義。例如,/d /g.toString()會回傳字串”/\d /g”。
4.Date的toString()方法將傳回一個具有可讀性的日期時間字串。
valueOf()
valueOf()函數的作用是傳回object的數值表示,JavaScript中object預設的valueOf()方法會傳回該object本身。與toString()一樣,定義類別時可以實作新的valueOf()方法,從而傳回所需的結果。 JavaScript對於Date物件定義了更具可讀性的valueOf()方法:
Date的valueOf()方法將傳回一個數值,該數值為Date物件與1970年1月1日零時的時間差(以毫秒為單位)。
相關推薦】
2. 中valueOf和toString,(JavaO)間的區別
3. tostring()和valueof()的用法及兩者的區別_