關於var的用法

2022-09-22 02:51:11 字數 1521 閱讀 8126

1、var 是在全域性範圍內有效,可以多次宣告

2、var與const 、let的區別:

let 跟 var 的作用差不多,但有著非常重要的區別。最明顯的區別是, let 宣告的範圍是塊作用域,而 var 宣告的範圍是函式作用域。

const 、let是es6及其以上版本的關鍵字

es6命名規範:

常量 const 宣告乙個唯讀的常量,一旦宣告,常量的值就不能改變。

變數 let 宣告的變數只在 let 命令所在的**塊內有效,只能宣告一次,否則會報錯

3、var關鍵字具體用法:

3.1:定義:要定義變數,可以使用 var 操作符(注意 var 是乙個關鍵 字),後跟變數名(即識別符號): var message;

這行**定義了乙個名為 message 的變數,可以用它儲存任何 型別的值。(不初始化的情況下,變數會儲存乙個特殊值 undefined)

3.2:var 宣告作用域:

3.2.1:

使用 var 操作符定義的變數會成為包含它的 函式的區域性變數。

比如,使用 var 在乙個函式內部定義乙個變數,就意味著該變數將在函式退出時被銷毀:比如:

這裡, message 變數是在函式內部使用 var 定義的。函式叫 test() ,呼叫它會建立這個變數並給它賦值。呼叫之後變數隨 即被銷毀,因此示例中的最後一行會導致錯誤。

3.2.2:

不過,在函式內 定義變數時省略 var 操作符,可以建立乙個全域性變數:

去掉之前的 var 操作符之後, message 就變成了全域性變數。 只要呼叫一次函式 test() ,就會定義這個變數,並且可以在函 數外部訪問到。

3.2.3:message首先是全域性變數,被定義為:false布林型別,之後被又被重寫為個儲存字串值 hi 的變數,所有不會報錯

3.3 var宣告提公升:

使用 var 時,下面的**不會報錯。這是因為使用這個關鍵字 宣告的變數會自動提公升到函式作用域頂部:

之所以不會報錯,是因為ecmascript執行時把它看成等價於如下 **:

這就是所謂的「提公升」(hoist),也就是把所有變數宣告都拉到函式作用域的頂部。此外,反覆多次使用 var 宣告同乙個變數也 沒有問題:

C 中var用法詳解

一 歷史 從visual c 3.0 開始引進的。二 基本概念 l implicitly type 隱式型別 由編譯器在編譯時候根據初試值決定具體型別。是強型別的。三 使用限制 1.只能用於區域性變數,如 方法內,屬性範圍內,using 語句內部。不能用於類欄位,方法返回值和形參。class thi...

關於ForEach迴圈的var屬性

標籤共有六個屬性 屬性名是否支援el 屬性型別 用處 vvar false string 是否處理標籤體內容 items true 陣列,字串,各種集合型別 迭代的集合物件 vaestatus false string 迭代的狀態,獲得迭代自身的訊息 begin true int開始位置,預設第乙個...

JSTL中var和target 標籤的用法

標籤有兩種不同的屬性設定 var和target。var 版本 用於設定作用域屬性,target 版本 用於設定bean屬性或map值。這兩個版本都有兩種形式 有標籤體和沒有標籤體。有標籤體的只是放入值的另一種途徑。var 版本 1.2.3.4.5.6.sheriff,bartender,cowgir...