成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

各類型的 toString 方法合集

geekidentity / 1830人閱讀

摘要:對象覆蓋了的方法方法連接數(shù)組并返回一個字符串,其中包含用逗號分隔的每個數(shù)組元素運用這個方法,可以處理數(shù)組扁平化不過有一些限制。

toString()
Object.prototype.toString()
Array.prototype.toString()
Boolean.prototype.toString()
RegExp.prototype.toString()
String.prototype.toString()
Number.prototype.toString()
Function.prototype.toString()
Date.prototype.toString()

Array,Boolean,RegExp,String,Number,Function,Date這些都是覆蓋了 ObjecttoString 方法

Object.prototype.toString()

返回一個表示該對象的字符串

來自MDN的描述: 每個對象都有一個toString()方法,當該對象被表示為一個文本值時,或者一個對象以預(yù)期的字符串方式引用時自動調(diào)用。默認情況下,toString()方法被每個Object對象繼承。如果此方法在自定義對象中未被覆蓋,toString() 返回 "[object type]",其中type是對象的類型
var obj = new Object()
obj.toString() // "[object Object]"
可以覆蓋默認的 toString 方法

toString() 方法不能傳入?yún)?shù), 必須要返回一個字符串

function Person(name, age) {
  this.name = name
  this.age = age
}
Person.prototype.toString = function() {
  return "my name is " + this.name + ", my age is " + this.age
}
var fe = new Person("fe_feng", 23)
fe.toString() // "my name is fe_feng, my age is 23"
使用 toString() 檢測對象類型
var toString = Object.prototype.toString;

toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]

//Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
Boolean.prototype.toString()

返回指定的布爾對象的字符串形式
返回值為 "true" 或者 "false"
Boolean 對象覆蓋了 Object 對象的 toString 方法
沒有繼承 Object.prototype.toString()
當一個 Boolean 對象作為文本值或進行字符串連接時, JS會自動調(diào)用其 toString 方法

"1" + true  // "1true"
Array.prototype.toString()

返回一個表示指定的數(shù)組及其元素的字符串。
Array 對象覆蓋了 ObjecttoString 方法
toString 方法連接數(shù)組并返回一個字符串,其中包含用逗號分隔的每個數(shù)組元素

運用這個方法,可以處理數(shù)組扁平化, 不過有一些限制。

當數(shù)組元素都是字符串時,扁平化處理很簡單

function flatten(arr) {
    return arr.toString().split(",")
}

當數(shù)組元素都是數(shù)字時,扁平化處理如下

function flatten(arr) {
  return arr.toString().split(",").map(item => +item)
}

當數(shù)組元素不確定時候,這個方法就不行了(返回的數(shù)組會改變原數(shù)組對象)

Number.prototype.toString()

返回指定 Number 對象的字符串表示形式

numObj.toString([radix]) 
// radix: 指定要用于數(shù)字到字符串的轉(zhuǎn)換的基數(shù)(從2到36)。如果未指定 radix 參數(shù),則默認值為 10。
// 如果 toString() 的 radix 參數(shù)不在 2 到 36 之間,將會拋出一個 RangeError。
栗子來源 MDN
var count = 10;

console.log(count.toString());    // 輸出 "10"
console.log((17).toString());     // 輸出 "17"
console.log((17.2).toString());   // 輸出 "17.2"

var x = 6;

console.log(x.toString(2));       // 輸出 "110"
console.log((254).toString(16));  // 輸出 "fe"

console.log((-10).toString(2));   // 輸出 "-1010"
console.log((-0xff).toString(2)); // 輸出 "-11111111"

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/99920.html

相關(guān)文章

  • php操作mysql防止sql注入(合集)

    摘要:參考中如何防止注入?yún)?shù)化查詢?yōu)槭裁茨軌蚍乐棺⑷肷厦嫣峁┑馁Y料比較多,下面根據(jù)自己的理解整理出來。使用的預(yù)處理參數(shù)化查詢可以有效防止注入。我們在上面預(yù)處理參數(shù)化查詢是在中進行防注入操作的,其實也內(nèi)置了一個預(yù)處理的模擬器,叫做。 由于segmentfault在處理特殊字符時也并非完美,所以下面文章中有些符號被轉(zhuǎn)換了,請到本人博客下載原文txt http://www.yunxi365.cn/...

    kviccn 評論0 收藏0
  • JS類型(一):深入討論“==”與“===”

    摘要:如果與相同,執(zhí)行嚴格相等運算。如果是布爾值,返回的結(jié)果。,需要兩個操作數(shù)同時轉(zhuǎn)為。四附錄常見的引用對象轉(zhuǎn)基本類型的例子對象或者非空對象轉(zhuǎn)基本類型返回數(shù)組轉(zhuǎn)基本類型,返回數(shù)組元素合集組成的字符串,每個元素用,連接 一:前言 寫前端代碼的一個避不開的問題:== ===到底是怎么回事?下面是大眾的理解: 1. ==指的是數(shù)值的相等。即使類型不一致,轉(zhuǎn)化后的值相等,還是返回true2. ===...

    Wildcard 評論0 收藏0
  • 深入js隱式類型轉(zhuǎn)換

    摘要:結(jié)合實際中的情況來看,有意或無意中涉及到隱式類型轉(zhuǎn)換的情況還是很多的。此外當進行某些操作時,變量可以進行類型轉(zhuǎn)換,我們主動進行的就是顯式類型轉(zhuǎn)換,另一種就是隱式類型轉(zhuǎn)換了。 前言 相信剛開始了解js的時候,都會遇到 2 ==2,但 1+2 == 1+2為false的情況。這時候應(yīng)該會是一臉懵逼的狀態(tài),不得不感慨js弱類型的靈活讓人發(fā)指,隱式類型轉(zhuǎn)換就是這么猝不及防。結(jié)合實際中的情況來看...

    tomato 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<