91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中的傳值與傳引用的方式

發布時間:2021-08-26 17:49:28 來源:億速云 閱讀:149 作者:chen 欄目:開發技術

這篇文章主要介紹“JavaScript中的傳值與傳引用的方式”,在日常操作中,相信很多人在JavaScript中的傳值與傳引用的方式問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript中的傳值與傳引用的方式”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

JavaScript中的傳值與傳引用

1.傳值(by value)

變量的值被復制出一份,與原來的值將不相干,也就是說即使新的值被修改,原來的值也不會改變,JavaScript中基本類型都是傳值的.

function testPassValue()

{

   var m=1;

   var n=2;

   //將m,n的值復制一份,傳遞到passValue

   passValue(m,n);

   alert(m);  //將是原有的值

}

function passValue(a,b)

{

  a = a+b; //改變a的值,這里a只是原有值的一份copy

  alert(a);  

}
輸出結果:
3
1

2.傳引用(by reference).

引用本身復制一份傳給function,引用指向的對象并沒有被復制傳遞(java中也是如此),function,如果改變了對象的屬性的值,由于和原來的引用指向的是同一個對象,因此在通過原來的引用訪問到的將是修改過的值;

但是如果只是在function中將引用指向一個新的對象,將不會改變原對象的值,改變的只是復制的這一份引用.

function testPassValue()

{

  var date = new Date(2006,02,27);

  alert(date.getDate());  //輸出為 27

  //將date引用本身復制一份,傳遞到passReference,注意date所指向的對象并沒有被復制

  passReference(date);

  alert(date.getDate());  //輸出為12

  //同上

  changeReference(date);

  alert(date.getDate());  //輸出還為12

}

function passReference(da)

{

 //由于da和原引用指向的是同一個對象,在function外,通過原有的引用訪問到的將是對象的日期屬性值,將是修改之后的值.

   da.setDate(12); 

}

function changeReference(da)

{

   //此時da引用實際上是原引用的一份copy,將引用本身重新賦值,將不會影響原引用

   da= new Date(2007,05,11); 

//將da引用指向一個新的對象,此時原引用指向的還是原來的對象

   alert(da.getDate());     // 輸出為11

}

 

3 特殊的String  

  JavaScript,String也傳引用的. js中只有charAt方法,而沒有對應的修改方法,java中的String相同,都具有不變性.

var s1 = "hello";

var s2 = "hell" + "o";

if (s1 == s2)   

alert("s1 = s2");         //這句會不會執行? java用的熟的人可能會認為不會執行,因為java中的==比較的是同一性. 事實上在js中對String==比較的是值是否相等,所以這句話會執行. 但是對其他的Object == 比較和java中一樣是同一性.

到此,關于“JavaScript中的傳值與傳引用的方式”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平湖市| 上蔡县| 盱眙县| 安宁市| 柏乡县| 琼中| 叙永县| 金平| 福州市| 会理县| 桦甸市| 太和县| 荥经县| 定州市| 江西省| 郓城县| 宾阳县| 乌苏市| 和田市| 澎湖县| 刚察县| 高清| 龙胜| 井陉县| 中阳县| 工布江达县| 安达市| 吴江市| 多伦县| 晋宁县| 乾安县| 万全县| 黄陵县| 进贤县| 汽车| 周宁县| 大安市| 平泉县| 潜江市| 莆田市| 昭觉县|