中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      JavaScript中的傳值與傳引用的理解

      時間:2024-10-12 06:06:58 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中也是會執行的!),因為java中的==比較的是同一性. 事實上在js中對String==比較的是值是否相等,所以這句話會執行. 但是對其他的Object == 比較和java中一樣是同一性.

      【JavaScript中的傳值與傳引用的理解】相關文章:

      Java方法(函數)傳值和傳引用的問題10-07

      對javascript的理解08-08

      javascript面向對象中的對象怎么理解09-02

      淺談javascript中的單線程理解08-16

      有關深入理解JavaScript中的并行處理的介紹10-14

      理解JavaScript原型鏈教程09-02

      javascript的閉包概念怎么理解06-15

      JavaScript中的with關鍵字07-24

      在Java中執行JavaScript代碼07-14

      Javascript中typeof 用法歸納09-27

      主站蜘蛛池模板: 亚洲av在线播放观看| 最新国产美女一区二区三区| 国产不卡一区二区av| 亚洲av成人一区二区三区网址| 国产精品欧美视频另类专区| 538在线视频| 穆棱市| 太白县| 久久精品国产亚洲一级二级| 91久久国产情侣真实对白| 亚洲无码视频一区:| 亚洲av五月天天堂网| 久久久久亚洲AV无码专区一区| 兴义市| 精河县| 托里县| 丰顺县| 洛南县| 化州市| 伊金霍洛旗| 定南县| 国产美女丝袜高潮白浆| 无锡市| 欧洲AV秘 无码一区二区三| 平谷区| 中文字幕一区二区三区久久蜜桃 | 无码专区亚洲avl| 国产剧情无码中文字幕在线观看不卡视频 | 国产一区亚洲欧美成人| 国内自拍视频在线观看| av免费看网站在线观看| 日韩久久免费精品视频| 久久久久久久久国内精品影视 | 云阳县| 额尔古纳市| 亚洲美腿丝袜福利一区| 国产亚洲三级在线视频| 国产精品麻豆A在线播放| 日韩女优一区二区视频| 亚洲欧美成人在线免费| 日本高清一区二区不卡视频|