<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                | JScript? | [語言參考](#) | |-----|-----| # 復制、傳遞和比較數據 在 JScript 中,對數據的處理取決于該數據的類型。 ### 按值和按引用的比較 Numbers 和 Boolean 類型的值 (**true** 和 **false**) 是按值來復制、傳遞和比較的。當按值復制或傳遞時,將在計算機內存中分配一塊空間并將原值復制到其中。然后,即使更改原來的值,也不會影響所復制的值(反過來也一樣),因為這兩個值是獨立的實體。 對象、數組以及函數是按引用來復制、傳遞和比較的。 當按地址復制或傳遞時,實際是創建一個指向原始項的指針,然后就像拷貝一樣來使用該指針。如果隨后更改原始項,則將同時更改原始項和復制項(反過來也一樣)。實際上只有一個實體;“復本”并不是一個真正的復本,而只是該數據的又一個引用。 當按引用比較時,要想比較成功,兩個變量必須參照完全相同的實體。例如,兩個不同的 **Array** 對象即使包含相同的元素也將比較為不相等。要想比較成功,其中一個變量必須為另一個的參考。要想檢查兩個數組是否包含了相同的元素,比較 **toString()** 方法的結果。 最后,字符串是按引用復制和傳遞的,但是是按值來比較的。請注意,假如有兩個 **String** 對象(用 **new** String("something") 創建的),按引用比較它們,但是,如果其中一個或者兩者都是字符串值的話,按值比較它們。 **注意???**鑒于 [ASCII](#)和 ANSI 字符集的構造方法,按序列順序大寫字母位于小寫字母的前面。例如 "Zoo" 小于 "aardvark"。如果想執行不區分大小寫的匹配,可以對兩個字符串調用 **toUpperCase()** 或 **toLowerCase()**。 ### 傳遞參數給函數 按值傳遞一個參數給函數就是制作該參數的一個獨立復本,即一個只存在于該函數內的復本。即使按引用傳遞對象和數組時,如果直接在函數中用新值覆蓋原先的值,在函數外并不反映新值。只有在對象的屬性或者數組的元素改變時,在函數外才可以看出。 例如(使用 IE 對象模式): ~~~ // ~~~ 本代碼段破壞(覆蓋)其參數,所以 ~~~ // ~~~ 調用代碼中反映不出變化。 ~~~ function Clobber(param) ~~~ { ~~~ // ~~~ 破壞參數;在調用代碼中 ~~~ // ~~~ 看不到。 ~~~ param = new Object(); ~~~ ~~~ param.message = "This will not work"; ~~~ } ~~~ // ~~~ 本段代碼改變參數的屬性, ~~~ // ~~~ 在調用代碼中可看到屬性改變。 ~~~ function Update(param) ~~~ { ~~~ // ~~~ 改變對象的屬性; ~~~ // ~~~ 可從調用代碼中看到改變。 ~~~ param.message = "I was changed"; ~~~ } ~~~ // ~~~ 創建一個對象,并賦給一個屬性。 ~~~ var obj = new Object(); ~~~ ~~~ obj.message = "This is the original"; ~~~ ~~~ // ~~~ 調用 ~~~ Clobber ~~~ ,并輸出 ~~~ obj.message ~~~ 。注意,它沒有發生變化。 ~~~ Clobber(obj); ~~~ ~~~ window.alert(obj.message); // ~~~ 仍然顯示 ~~~ "This is the original" ~~~ 。 ~~~ // ~~~ 調用 ~~~ Update ~~~ ,并輸出 ~~~ obj.message ~~~ 。注意,它已經被改變了。 ~~~ Update(obj); ~~~ ~~~ window.alert(obj.message); // ~~~ 顯示 ~~~ "I was changed" ~~~ 。 ### 檢驗數據 當按值進行檢驗時,是比較兩個截然不同的項以查看它們是否相等。通常,該比較是逐字節進行的。當按引用進行檢驗時,是看這兩項是否是指向同一個原始項的指針。如果是,則比較結果是相等;如果不是,即使它們每個字節都包含完全一樣的值,比較結果也為不相等。 按引用復制和傳遞字符串能節約內存;但是由于在字符串被創建后不能進行更改,因此可以按值進行比較。這樣可以檢查兩個字符串是否包含相同的內容,即使它們是完全獨立產生的。 [? 2000 Microsoft Corporation 版權所有。保留所有權利。使用規定。](#)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看