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

資訊專欄INFORMATION COLUMN

關(guān)于""創(chuàng)建字符串和new String創(chuàng)建字符串

GT / 2511人閱讀

摘要:當(dāng)使用時(shí),基本字符串和字符串對(duì)象也會(huì)產(chǎn)生不同結(jié)果,會(huì)將基本字符串作為源代碼處理,而字符串對(duì)象則被看作對(duì)象處理,返回對(duì)象。利用方法,我們可以將字符串對(duì)象轉(zhuǎn)換為其對(duì)應(yīng)的基本字符串。

筆試的時(shí)候總會(huì)遇到string 和 new String相關(guān)的問(wèn)題,匯總一下
var s1 = "abc"
var s2 = String("abc")
var s3 = new String("abc")
var s4 = new String("abc")

console.log("s1 == s2", s1 == s2)  //true
console.log("s1 === s2", s1 === s2) // true
console.log("s1 == s3", s1 == s3)  //true
console.log("s1 === s3", s1 === s3) //false
console.log("s2 == s3", s2 == s3)   //true
console.log("s2 === s3", s2 === s3) //false
console.log("s3 == s4", s3 == s4)  //false
console.log("s3 === s4", s3 === s4)  //false

瀏覽器中運(yùn)行截圖如下:

上述字符串創(chuàng)建的三種形式,用“”創(chuàng)建是字符串字面量(通過(guò)單引號(hào)或者雙引號(hào)定義)和直接調(diào)用String(不用new)生成的字符串都是基本字符串(可以理解為兩種方式一樣),使用new String創(chuàng)建的字符串為字符串對(duì)象。

基本字符串和字符串對(duì)象的區(qū)別

JavaScript會(huì)自動(dòng)將基本字符串轉(zhuǎn)換為字符串對(duì)象,只有將基本字符串轉(zhuǎn)化為字符串對(duì)象后才可以使用字符串對(duì)象的方法。當(dāng)基本字符串需要調(diào)用一個(gè)字符串對(duì)象才有的方法或者查詢值的時(shí)候(基本字符串沒有這些方法),JavaScript會(huì)自動(dòng)將基本字符串轉(zhuǎn)化為字符串對(duì)象并且調(diào)用相應(yīng)的方法或執(zhí)行查詢。

當(dāng)使用eval時(shí),基本字符串和字符串對(duì)象也會(huì)產(chǎn)生不同結(jié)果,eval會(huì)將基本字符串作為源代碼處理,而字符串對(duì)象則被看作對(duì)象處理,返回對(duì)象。

s1 = "2 + 2";               // creates a string primitive
s2 = new String("2 + 2");   // creates a String object
console.log(eval(s1));      // returns the number 4
console.log(eval(s2));      // returns the string "2 + 2"

利用 valueOf 方法,我們可以將字符串對(duì)象轉(zhuǎn)換為其對(duì)應(yīng)的基本字符串。

console.log(eval(s2.valueOf())); // returns the number 4

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

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

相關(guān)文章

  • 關(guān)于String.intern()new StringBuilder("").

    摘要:對(duì)比較返回是因?yàn)檫@個(gè)字符串在執(zhí)之前已經(jīng)出現(xiàn)過(guò),字符串常量池中已經(jīng)有它的引用了,不符合首次出現(xiàn)的原則,而計(jì)算機(jī)軟件這個(gè)字符串則是首次出現(xiàn)的,因此返回。 在《深入理解Java虛擬機(jī)》書中,提到在jdk1.7的版本中用String.intern()返回引用。 public class RuntimeConstantPoolOOM { public static void main(S...

    derek_334892 評(píng)論0 收藏0
  • 為什么不建議在for循環(huán)中使用"+"進(jìn)行符串拼接

    摘要:使用可以方便的對(duì)字符串進(jìn)行拼接。該方法使用進(jìn)行聲明,說(shuō)明是一個(gè)線程安全的方法。所以,阿里巴巴開發(fā)手冊(cè)建議循環(huán)體內(nèi),字符串的連接方式,使用的方法進(jìn)行擴(kuò)展。但是,還要強(qiáng)調(diào)的是如果不是在循環(huán)體中進(jìn)行字符串拼接的話,直接使用就好了。 摘要: 學(xué)習(xí)阿里巴巴Java開發(fā)手冊(cè)。 原文:為什么阿里巴巴不建議在for循環(huán)中使用+進(jìn)行字符串拼接 微信公眾號(hào):Hollis Fundebug經(jīng)授權(quán)轉(zhuǎn)載,...

    caoym 評(píng)論0 收藏0
  • 從指令的角度看"abc"new String("abc")

    摘要:但是有一個(gè)的指令,可以把字節(jié)碼翻譯成人類能看懂的東西。是文件分解器,可以反編譯即對(duì)編譯的文件進(jìn)行反編譯,也可以查看編譯器生成的字節(jié)碼?,F(xiàn)在有一個(gè)類,定義入下先用編譯成字節(jié)碼,再使用進(jìn)行反編譯。 概要 Java工程師面試官偏愛的問(wèn)題之一,就是abc和 new String(abc)的區(qū)別是什么?回答的比較好的會(huì)帶出Java堆,棧,常量池,引用等概念。但今天不止如此,我們從指令的角度,去看...

    doodlewind 評(píng)論0 收藏0
  • Java日期格式化

    摘要:瞬間可用毫秒值來(lái)表示,它是距歷元即格林威治標(biāo)準(zhǔn)時(shí)間年月日的,格里高利歷的偏移量。創(chuàng)建對(duì)象常用方法返回當(dāng)前對(duì)象的一些日期信息獲得當(dāng)前日期的對(duì)象根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時(shí)間量。日期格式化前言Date類表示特定的瞬間精確到毫秒,不過(guò)從API可以看出很多的方法已經(jīng)廢棄了,這個(gè)類已經(jīng)在過(guò)多使用了,不過(guò)還是需要了解一下的,為了后面的學(xué)習(xí)做鋪墊構(gòu)造方法new Date()long ...

    PingCAP 評(píng)論0 收藏0
  • 關(guān)于"a"+"b"共創(chuàng)建了幾個(gè)對(duì)象的問(wèn)題

    摘要:首先,我們先看下以下代碼的輸出情況將這段代碼反編譯后得到如下結(jié)果重點(diǎn)是這句,可以發(fā)現(xiàn)從一開始就是一個(gè)整體,這是因?yàn)樵诰幾g時(shí)就去掉其中的加號(hào),直接將其編譯成一個(gè)相連的結(jié)果存入了常量池,而不是等到運(yùn)行時(shí)再去進(jìn)行相加,所以運(yùn)行結(jié)果為結(jié)論只創(chuàng)建了一 首先,我們先看下以下代碼的輸出情況 String s = a + b; System.out.println(s == ab); // true...

    lavor 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<