欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript如何把變量轉(zhuǎn)換為字符串

這篇文章主要講解了“javascript如何把變量轉(zhuǎn)換為字符串”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“javascript如何把變量轉(zhuǎn)換為字符串”吧!

創(chuàng)新互聯(lián)建站是一家專業(yè)提供米林企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)HTML5建站、小程序制作等業(yè)務(wù)。10年已為米林眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

js變量轉(zhuǎn)為字符串的方法:1、使用“value.toString()”語句,toString()可以將js值(null和undefined除外)轉(zhuǎn)換為字符串;2、使用“"" + value”語句;3、使用“String(value)”語句。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript將變量轉(zhuǎn)換為字符串的3種方法如下:

  • value.toString()

  • "" + value

  • String(value)

當(dāng)value為null或者undefined時(shí),第1種方法就不行了。而方法2和方法3基本上是一樣的。

""+value: 將value與空字符串相加,即可將其轉(zhuǎn)換為字符串。這種方法其實(shí)是一種稍微晦澀的技巧,可能會(huì)讓別人難于理解開發(fā)者的意圖。不過,這一點(diǎn)見仁見智,有些人偏愛這種方法。

String(value): 這種方法非常清晰:使用String()函數(shù)將value轉(zhuǎn)換為字符串。不過,String()有兩種不同用法,容易混淆,尤其對(duì)于Java開發(fā)者來說。當(dāng)String()和運(yùn)算符new一起作為構(gòu)造函數(shù)使用時(shí),它返回一個(gè)新創(chuàng)建的String對(duì)象;當(dāng)不用new運(yùn)算符調(diào)用String()時(shí),它只把value轉(zhuǎn)換成原始的字符串。這兩者是非常不同的:

> String("Fundebug") === new String("Fundebug")
false
> typeof String("Fundebug")
'string'
> String("Fundebug") instanceof String
false
> typeof new String("Fundebug")
'object'
> new String("Fundebug") instanceof String
true

事實(shí)上,將String()作為構(gòu)造函數(shù)使用并不常見,因此僅使用它來轉(zhuǎn)換字符串就好了。

“”+valueString(value)的細(xì)微差別

""+valueString(value)都可以將value轉(zhuǎn)換為字符串,它們是如何做到的呢?事實(shí)上,它們雖然結(jié)果相同,但是方法稍有區(qū)別。

將primitive基本類型轉(zhuǎn)換為字符串

兩種方法都使用內(nèi)部函數(shù)ToString()將primitive基本類型轉(zhuǎn)換為字符串。ToString()函數(shù)在ECMAScript 5.1 (§9.8)中定義了,但是并不能直接使用,因此稱作內(nèi)部函數(shù)。下面的表格顯示了ToString()函數(shù)如何將primitive基本類型轉(zhuǎn)換為字符串:

參數(shù)結(jié)果
undefined"undefined"
null"null"
Boolean"true"或者 "false"
Number將數(shù)字轉(zhuǎn)換為字符串,例如: "1.765"
String無需轉(zhuǎn)換

將Object轉(zhuǎn)換為字符串

轉(zhuǎn)換為字符串之前,兩種方法都會(huì)先將Object轉(zhuǎn)換為primitive。不同的是,""+value使用內(nèi)部函數(shù)ToPrimitive(Number) (除了date類型),而String(value)使用內(nèi)部函數(shù)ToPrimitive(String)

  • ToPrimitive(Number) : 先調(diào)用obj.valueOf ,若結(jié)果為primitive則返回;否則再調(diào)用obj.toString() ,若結(jié)果為primitive則返回;否則返回TypeError。

  • ToPrimitive(String) : 與ToPrimitive(Number)類似,只是先調(diào)用obj.toString() ,后調(diào)用obj.valueOf()

可以通過以下示例了解區(qū)別,obj如下:

var obj = {
 valueOf: function()
 {
  console.log("valueOf");
  return {};
 },
 toString: function()
 {
  console.log("toString");
  return {};
 }
};

調(diào)用結(jié)果:

> "" + obj
valueOf
toString
TypeError: Cannot convert object to primitive value
> String(obj)
toString
valueOf
TypeError: Cannot convert object to primitive value

它們的結(jié)果相同

""+valueString(value)雖然不同,但是我們很少能感覺到。因?yàn)椋蠖鄶?shù)object使用默認(rèn)的valueOf() ,它返回對(duì)象本身:

> var x = {}
> x.valueOf() === x
true

由于valueOf()返回值并非primitive,因此ToPrimitive(Number)會(huì)跳過valueOf() ,而返回toString()的返回值。這樣,與ToPrimitive(String)的返回值就一樣了。

當(dāng)object是Boolean、Number或者String實(shí)例時(shí),valueOf()將返回primitive。這就意味著兩者的計(jì)算過程是這樣的:

  • ToPrimitive(Number) valueOf()返回primitive值,然后使用ToString()轉(zhuǎn)換為字符串。

  • ToPrimitive(String) : toString()通過ToString()函數(shù)將primitive值轉(zhuǎn)換為字符串。

可知,雖然計(jì)算過程不同,但是它們的結(jié)果是一樣的。

結(jié)論

那么你該選擇哪種方法呢?如果你可以確保value值不是null和undefined,那么不妨使用value.toString() 。否則,你只能使用""+valueString(value) ,它們基本上是一樣的。

感謝各位的閱讀,以上就是“javascript如何把變量轉(zhuǎn)換為字符串”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)javascript如何把變量轉(zhuǎn)換為字符串這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

新聞名稱:javascript如何把變量轉(zhuǎn)換為字符串
網(wǎng)址分享:http://chinadenli.net/article14/ggpoge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃做網(wǎng)站網(wǎng)站收錄App設(shè)計(jì)虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)