最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript基礎(chǔ)篇之變量作用域、傳值、傳址的簡(jiǎn)單介紹與實(shí)例

 更新時(shí)間:2013年06月29日 15:35:32   作者:  
這篇文章介紹了變量的作用域,傳值,傳址的一些簡(jiǎn)單使用,有需要的朋友可以參考一下

javascript:變量的聲明
以下是幾種聲明變量的方式

復(fù)制代碼 代碼如下:

 var value;
 var value,value1,value2;//同時(shí)聲明多個(gè)變量,但是這些變量的值都是undefined
 var i = 0,j = 0,k=100;//變量聲明,初始化一體。
 //如果大家嘗試讀一個(gè)不存在的變量(值)會(huì)報(bào)錯(cuò)!但是嘗試給一個(gè)未使用Var聲明的變量賦值,javascript
 //會(huì)隱式的聲明改變量,而且聲明了的變量還是全局的。細(xì)節(jié):所以大家創(chuàng)建變量都盡量使用Var
 //變量的作用域(這個(gè)問題也容易出,大家要搞明白)

javascript:變量的作用域
 這些都是細(xì)節(jié),和我一樣初學(xué)的一定要注意避免!
復(fù)制代碼 代碼如下:

var golbal = "golbal"; //全局變量
 var local ="local";
function area()
 {
//局部變量的優(yōu)先級(jí)比全局變量的高
var local = "arealocal"
//當(dāng)函數(shù)體內(nèi)聲明的變量名和全局變量名相同時(shí),javascript 會(huì)隱藏全局變量
var golbal ="areagolbal";

document.write("local is :"+local + "and golbal is :" + golbal +"<br />");
 }

area();
//輸出:local is :arealocaland golbal is :areagolbal

在嵌套的函數(shù)里面定義局部變量,效果會(huì)怎么樣呢?看下面:
復(fù)制代碼 代碼如下:

var hope = "moremoney";
function createmore()
{
var hope = "have more money";//局部
function createmoreto()//嵌套函數(shù)
{
var hope = "have more money to much";//局部
document.write("Createmoreto hope is :"+hope +"<br />");
  //輸出:Createmoreto hope is :have more money to much
}
 createmoreto();//調(diào)用
 document.write("Createmore hope is :" +hope +"<br />");
//輸出:Createmore hope is :have more money
}
 createmore(); //調(diào)用

javascript:傳值和傳址
這里也是比較重要的概念!不要漏了。

  傳值 傳址
復(fù)制 實(shí)際復(fù)制的值,存在不同的、獨(dú)立的拷貝。 復(fù)制的只是對(duì)數(shù)字的引用。如果通過這個(gè)新的引用修改了數(shù)值,這個(gè)改變對(duì)最初的引用來說也是可見的。
傳遞 傳遞給函數(shù)的是值的獨(dú)立拷貝對(duì)它的改變?cè)诤瘮?shù)外沒有影響 傳遞給函數(shù)的是對(duì)數(shù)值的引用,如果函數(shù)通過傳遞給它的引用修改了數(shù)值,這個(gè)改變也是可見的。
比較 比較這兩個(gè)對(duì)立的值,通常逐字節(jié)的比較,以判斷是否相等 比較的是兩個(gè)引用,以判斷它們引用的是否是同一個(gè)數(shù)值。

javascript:基本類型和引用類型

javascript的基本規(guī)則是:基本類型通過傳值來操作,引用類型通過傳址來操作。(什么事值類型,或者什么事引用看我上一篇)
按值傳遞

復(fù)制代碼 代碼如下:

 var value = 1;
 var copyvalue = value; //將value賦給另一個(gè)變量
  function addTotal(total,arg)
  {
 total+= arg; //total = total + arg 效果等同
 }
 //調(diào)用函數(shù),傳兩個(gè)參數(shù)(大家可能會(huì)認(rèn)為這個(gè)函數(shù)改變了全局變量的值,其實(shí)沒有,函數(shù)用的也是對(duì)立拷貝)
 addTotal(value,copyvalue);
 if(value == 1) copyvalue = 2;
 document.write("total \t" + value + "and copyvalue \t\t" + copyvalue+"<br />");
 //最后輸出:total 1and copyvalue 2

按址傳遞
復(fù)制代碼 代碼如下:

 var array = new Array("Javascccp");
 var objarray = array;
 function modifyArray(arr)
 {
 arr[0] = "JAVASCRIPT";
 }
 //沒調(diào)用函數(shù)前
 document.write(array[0] +"<br />");
 //輸出Javascccp;
 //調(diào)用函數(shù)后
 modifyArray(array);
 document.write(array[0]+"<br />");
 //輸出大寫JAVASCRIPT
 //通過修改objarray會(huì)是一樣的效果
 objarray[0] = "Frank";
 document.write(array[0]+"<br />");
  //輸出Frank;

小結(jié):上面內(nèi)容希望大家都不要錯(cuò)過,對(duì)學(xué)習(xí)后面的知識(shí)還是很有幫助的!

相關(guān)文章

最新評(píng)論

屏东市| 平远县| 于田县| 大邑县| 鹤庆县| 太仓市| 浮山县| 徐水县| 长治市| 石台县| 海城市| 庆阳市| 南和县| 库车县| 桐柏县| 东丽区| 贵港市| 横山县| 精河县| 襄汾县| 邻水| 沂南县| 星子县| 曲阳县| 涟源市| 揭东县| 通许县| 永康市| 色达县| 育儿| 伊川县| 桑日县| 隆回县| 绍兴市| 易门县| 南充市| 新源县| 舒兰市| 台前县| 边坝县| 洛阳市|