JS中變量和函數的使用

1、變量的介紹

一、啥是變量?

  變量的本質是一塊有名字的內存空間。變量由變量名和變量值構成。變量名指的是內存空間的別名,通常位於賦值運算符的左邊;而變量值指的是內存空間中的數據,通常位於賦值運算符的右邊。例如:var balance =250;其中balance爲變量名,是內存空間的別名;250爲變量值,爲數據。bash

二、如何聲明變量?

 暫且可將聲明理解爲創造,當聲明變量時,使用關鍵字 var
 第一種:單獨聲明函數

<script>
       var a = 32;  //聲明一個變量,變量名爲a,變量值爲32;
       var b = 45;  //聲明一個變量,變量名爲b,變量值爲45;
  </script>
複製代碼

 第二種:一個var多個聲明變量ui

<script>
    var a = 32,b = 45,c = 57;   //利用一個var來聲明多個變量用逗號隔開
    var x = 123,
        y = 245,
        z = 100;  //此寫法與上面意思同樣寫法不一樣而已
</script>
複製代碼

 第三種:重複聲明spa

<script>
   var a = 120; 
   var a = 356;   //這些指令代表使用同一變量名聲明兩次,形成重複
</script>
複製代碼

 第四種:遺漏聲明code

<script>
    var m = 12;
    var n = 32;
    alert(m)  //可彈出m的值,卻遺漏了下面n的值
</script>
複製代碼

注意細節:
  1.在JS中重複聲明雖然是容許的,但在開發中,不要這樣用;
  2.在JS中遺漏聲明也是容許,但在實際開發時, 也是要儘可能避免的;
  3.在JS中,能夠經過alert(),來彈出一個變量的值。ip

三、聲明變量的特徵有?

特徵1:若是僅僅是聲明變量,那麼變量是有默認值內存

<script>
    var a;   // 若是你僅僅是聲明一個變量,並不是賦值,那麼它的默認值爲undefined
    console.log(a)  // 打印出a的值
</script>
複製代碼

特徵2:使用var 聲明的變量能夠進行提高,提高就是把加var的變量提早最前面開發

解析:JS代碼在執行以前有一個預編譯,預編譯作了兩件事:
  (1)把加var的變量提高,提高的僅僅是聲明,而沒有賦值部分;
  (2)把函數提高到了代碼段(一個script標籤就是一個代碼段)的最前面。 當預解析完後,纔會執行JS代碼;
  (3)當函數與變量套用着,加var的變量雖然那個要提高,但因爲此時的變量爲局部變量,只會提高到函數體的最前面。string

例1.1:<script> 
        var a;  //此時只有聲明提高到前面而變量值沒有
        console.log(a)  // 打印出的a的值爲undefined
        var a = 120;  //這一步至關於沒操做 
     </script>
複製代碼
例1.2:<script> 
        var a;  //此時只有聲明提高到前面而變量值沒有
        console.log(a)  // 打印出的a的值爲undefined
        var a = 120;  //這一步至關於沒操做 
        console.log(a)  //打印出的a的值爲120
     </script>
複製代碼
例2:<script> 
       g()             //調用函數
        function g(){
        console.log("g....")  //此時也能夠打印出來g...,由於函數整個提高到了前面
       }                        //聲明定義變量
    </script>
複製代碼
例3:<script>
        console.log("--------------------")  //打印出----------
        var a;                               //這是將局部變量提高到函數體最前面
        function f(){
            console.log(a)                  //要打印時會去尋找變量,即爲undefined
            a = 2;
          }
       f();
    </script>
複製代碼

四、變量分爲哪幾類?

1.局部變量
  局部變量指在函數內聲明的變量。它只能在函數內部訪問,在函數外面是不能被訪問;就好像是各個地方的方言同樣。it

例子:<script>
        function f(){
           var name = "wangcai";  //局部變量,由於這個變量放在函數裏面
           console.log(name)
         }
        console.log("----"+name) //這裏由於name是局部變量,因此只會顯示----
       // 函數聲明完後,你要使用這個函數,那麼你必定要調用這個函數
       f()
     </script>
複製代碼

2.全局變量
  全局指變量指在函數外聲明的變量。它在函數內部和外部均可以訪問;就如同標準普通話在任何地區均可以用。

例子:<script>
        var age = 100;  //全局變量聲明定義了age
        function f(){
          console.log("在函數裏面訪問的全局變量"+age)  //這裏爲局部變量只有調用函數後纔會打印出來
        }
       console.log(age)  //此爲全局變量,在函數外聲明的
       f() // 函數調用,這裏會將函數的第二行代碼執行出來
    </script>
複製代碼

2、函數的認識

一、啥是函數?

  函數能夠說成是個功能塊,當你給它一個輸入值時,在這個功能塊中經過某種關係或者說映射,就能獲得一個輸出值。就像豆漿機,將準備的大豆放到機器中,經過榨汁獲得一杯豆漿。

二、如何定義函數?

方式一:函數聲明
  用關鍵字function來聲明函數,其中基本格式以下:function  f(){ };其中有f爲函數名;()是函數的特殊標誌;{}叫函數體或者具體的功能

function  f(){
    console.log("函數聲明")
}
複製代碼

方式二:函數表達式
  函數表達式本質上是一個變量;它指的是將以function聲明的函數做爲表達式放在賦值的右邊,從新定義一個變量。

var g = function  f(){
    console.log("函數表達式")
}
f();
複製代碼

區別:聲明函數與函數表達式二者在提高階段不同;函數聲明能夠將函數調用寫到函數聲明以前,而函數表達式則將函數調用提早會出錯。

函數聲明:
<script>
  f();
  function  f(){
     console.log("函數聲明提高")     //此時是能夠打印出"函數聲明提高"
   }
</script>
函數表達式:
<script>
  f();
  var g = function  f(){
     console.log("函數表達式提高")  //會報錯,f沒有定義
   }
</script>
複製代碼

三、函數返回值

1.函數在沒有寫return或者只寫了return時,默認返回undefined。

(1) function  f(){
    //這是至關於默認的return undefined;
    }
(2)function  f(){
      return;  //同上,默認的return undefined;
}
複製代碼

2.在一個函數中,執行過return語句後,下面的語句將再也不執行。

function  f(){
    console.log("caomeitai")
    return thanks;   //當執行過該語句,下面再也不執行
    console.log("xiaoyuzhou")  //並未執行
}
複製代碼

四、函數的參數

  在函數定義與函數調用時,有兩個參數:形參與實參。形參即形式參數,表明着在定義函數時,小括號中的參數;實參即實際參數則表明在調用函數時,小括號中的參數。

function  add(x,y){    //這裏小括號中的x,y爲形參
    return  x+y;
}
console.log(add(2,3));  //在調用了add函數時的2,3爲實參
複製代碼
相關文章
相關標籤/搜索