麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 21:30:09
字體:
來源:轉載
供稿:網友

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中一樣是同一性.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久嗨| 成人免费福利视频 | 日韩视频中文 | 欧美黄色片一级 | 欧美激情综合在线 | 精品亚洲综合 | 国产精品一区二区免费在线观看 | 日韩电影一区二区三区 | 一区二区三区欧美精品 | 成年人高清视频在线观看 | 九九热在线视频观看 | 嗯~啊~弄嗯~啊h高潮视频 | 久久精品一二三区白丝高潮 | 99久久精品免费 | 日韩精品久久久久久久电影99爱 | gril hd| 久久人人av | 在线播放h | 久久久久久久久久久国产精品 | 国产精品自在线拍 | 国产一级片91 | 91成人免费在线观看 | 欧美日韩一区,二区,三区,久久精品 | 粉嫩蜜桃麻豆免费大片 | 天天色狠狠干 | 99亚洲伊人久久精品影院红桃 | 大片毛片| 欧美人成在线 | 久久情爱网 | 国产精品视频自拍 | 一级免费在线视频 | 日日碰日日操 | 色99久久| 毛片免费观看视频 | 龙床上的呻吟高h | 九色国产| 国产精品白嫩白嫩大学美女 | 国产亚洲精品久久久久久久久久 | 国产瑟瑟视频 | 午夜视频在线观看免费视频 | 91精品国产手机 |