欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript基礎篇之變量作用域、傳值、傳址的簡單介紹與實例

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

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

復制代碼 代碼如下:

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

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

var golbal = "golbal"; //全局變量
 var local ="local";
function area()
 {
//局部變量的優(yōu)先級比全局變量的高
var local = "arealocal"
//當函數體內聲明的變量名和全局變量名相同時,javascript 會隱藏全局變量
var golbal ="areagolbal";

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

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

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

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

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

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

javascript:基本類型和引用類型

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

復制代碼 代碼如下:

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

按址傳遞
復制代碼 代碼如下:

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

小結:上面內容希望大家都不要錯過,對學習后面的知識還是很有幫助的!

相關文章

  • (function(){})()的用法與優(yōu)點

    (function(){})()的用法與優(yōu)點

    (function(){})()的用法與優(yōu)點...
    2007-03-03
  • 小程序自定義組件實現城市選擇功能

    小程序自定義組件實現城市選擇功能

    這篇文章主要介紹了小程序自定義組件實現城市選擇功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • JavaScript  函數語法詳解

    JavaScript 函數語法詳解

    本文結合前面發(fā)布的文章,詳細介紹了javascript的函數語法,非常的詳盡,非常的實用,這里推薦給大家,是篇不可多得的文章
    2021-09-09
  • 原生javascript實現圖片放大鏡效果

    原生javascript實現圖片放大鏡效果

    這篇文章主要為大家詳細介紹了原生javascript實現圖片放大鏡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • JS實現簡單拖動模態(tài)框案例

    JS實現簡單拖動模態(tài)框案例

    這篇文章主要為大家詳細介紹了JS實現簡單拖動模態(tài)框案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 在uniapp中如何去掉一些不想要的權限

    在uniapp中如何去掉一些不想要的權限

    在uniapp中,云打包以后會自動增加一個電話權限,并且在manifest.json里面也沒有添加這個權限,怎么添加都添加不上,下面小編給大家分享在uniapp中如何去掉一些不想要的權限,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • js left,right,mid函數

    js left,right,mid函數

    在JAVASCRIPT中LEFT,RIGHT,MID函數的等價函數,非常適合經常用寫asp的朋友
    2008-06-06
  • layui使用label標簽的方法

    layui使用label標簽的方法

    今天小編就為大家分享一篇layui使用label標簽的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • javascript斷點調試心得分享

    javascript斷點調試心得分享

    javascript中程序是怎么可以中斷執(zhí)行,然后一步一步走下去。而且debug的時候,可以看到變量,調用棧等東西。這個是如何實現的?
    2016-04-04
  • 微信小程序實現上傳視頻功能

    微信小程序實現上傳視頻功能

    這篇文章主要為大家詳細介紹了微信小程序實現上傳視頻功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論