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

JavaScript中的變量定義與儲存介紹

 更新時間:2014年12月31日 09:22:38   投稿:junjie  
這篇文章主要介紹了JavaScript中的變量定義與儲存介紹,本文先是講解了變量定義的一些技巧,然后對變量的儲存做了講解,需要的朋友可以參考下

與C、Java等編程語言不同,JavaScript中的變量是無類型的,所有的變量定義使用的關(guān)鍵詞均為var:


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

var a;
var m, n;
var x=42, y="test";


如果定義變量后未對該變量進行賦值,那么該變量的值為undefined。如上面代碼中的a、m、n三個變量的值均為undefined。

由于JS中變量是無類型的,因此完全可以對同一個變量進行不同類型的賦值,如:


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

var b = "temp";
console.log(typeof b);//string
b = 108;
console.log(typeof b);//number


除了可以對同一變量進行不同類型的賦值,JavaScript中還可以對變量進行重復(fù)定義;如果這么做,則第一次之后的變量定義語句等價于賦值語句:


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

var c = "hello";
console.log(c);//hello
var c = true;
console.log(c);//true


在ECMAScript標準的嚴格模式(strict mode)下,所有的變量定義均需使用var關(guān)鍵詞。如果不使用嚴格模式,那么當JS程序?qū)δ硞€未被定義過的變量進行賦值時,程序?qū)⒃贘S全局對象中創(chuàng)建一個名稱與該變量相同的屬性,也即創(chuàng)建一個新的全局變量。這種做法會帶來很多問題(比如,多個JS程序間產(chǎn)生全局變量污染等),給后期維護帶來不小的麻煩;因此在實際開發(fā)過程中,應(yīng)當盡量避免使用這種做法。

變量的儲存

如果定義的變量為全局變量,同時在變量定義過程中沒有使用var關(guān)鍵詞,那么該變量會作為全局對象的屬性而存在,可以通過訪問this(全局對象)的相應(yīng)屬性而獲得,也可以通過使用delete關(guān)鍵詞將其從全局對象中刪除掉:


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

var e = "globalVariableValue";//defined outside of any function, it is a global variable, but does not store in "this"
f = "globalVariableValue2";
this.g = "globalVariableValue3";
console.log(this.e);//undefined
console.log(this.f);//globalVariableValue2
console.log(this.g);//globalVariableValue3

delete f;
delete g;
console.log(this.f);//undefined
console.log(this.g);//undefined


對于JavaScript中的每一次函數(shù)調(diào)用,JavaScript都會創(chuàng)建一個局部對象以儲存在該函數(shù)中定義的局部變量;如果在該函數(shù)內(nèi)部還有一個嵌套定義的函數(shù)(nested function),那么JavaScript會在已經(jīng)定義的局部對象內(nèi)部再定義一個嵌套局部對象。對于一個函數(shù),其內(nèi)部有多少層的嵌套函數(shù)定義,也就有多少層的嵌套局部對象。該局部對象稱為“函數(shù)調(diào)用對象”(ECMAScript 3中的“call object”,ECMAScript 5中改名為“declarative environment record”,但個人認為還是ECMAScript 3中的名稱更容易理解一些)。

與全局對象this相反,JavaScript中不提供任何方式來訪問這些局部對象(函數(shù)調(diào)用對象)。因此,開發(fā)人員無法對這些局部對象進行操作。不過,理解這些函數(shù)調(diào)用對象對于理解JavaScript中的一些概念會有很大的幫助,比如說變量的作用域和閉包。

  • JavaScript實現(xiàn)兩個Table固定表頭根據(jù)頁面大小自行調(diào)整

    JavaScript實現(xiàn)兩個Table固定表頭根據(jù)頁面大小自行調(diào)整

    正如標題所言兩個Table固定表頭,可根據(jù)頁面大小自行調(diào)整使用JavaScript實現(xiàn),具體的示例如下,感興趣的朋友可以參考下
    2014-01-01
  • JavaScript對象解構(gòu)的用法實例解析

    JavaScript對象解構(gòu)的用法實例解析

    解構(gòu)賦值允許你使用類似數(shù)組或?qū)ο笞置媪康恼Z法將數(shù)組和對象的屬性賦給各種變量,下面這篇文章主要給大家介紹了關(guān)于JavaScript對象解構(gòu)用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • CodeMirror實現(xiàn)代碼對比功能(插件react vue)

    CodeMirror實現(xiàn)代碼對比功能(插件react vue)

    這篇文章主要介紹了CodeMirror實現(xiàn)代碼對比功能,用到的插件有vue或者react都需要這一步且同樣的下載方式,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • JavaScript實現(xiàn)動態(tài)表格的示例代碼

    JavaScript實現(xiàn)動態(tài)表格的示例代碼

    動態(tài)表格是指在網(wǎng)頁上顯示的數(shù)據(jù)表格,可以根據(jù)用戶輸入或頁面元素的變化動態(tài)更新內(nèi)容,本文主要介紹了JavaScript實現(xiàn)動態(tài)表格的示例代碼,感興趣的可以了解一下
    2024-04-04
  • JS把內(nèi)容動態(tài)插入到DIV的實現(xiàn)方法

    JS把內(nèi)容動態(tài)插入到DIV的實現(xiàn)方法

    下面小編就為大家?guī)硪黄狫S把內(nèi)容動態(tài)插入到DIV的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Javascript判斷圖片尺寸大小實例分析

    Javascript判斷圖片尺寸大小實例分析

    通常我們判斷js圖片大小都是利用images對象,然后再用attr來獲取圖片地址再進行判斷就可以了。這篇文章主要介紹了Javascript判斷圖片尺寸大小的實例,需要的朋友可以參考下
    2014-06-06
  • 詳解XMLHttpRequest(一)同步請求和異步請求

    詳解XMLHttpRequest(一)同步請求和異步請求

    這篇文章主要為大家詳細介紹了XMLHttpRequest 同步請求和異步請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 解析如何利用iframe標簽以及js制作時鐘

    解析如何利用iframe標簽以及js制作時鐘

    本文對如何利用iframe標簽以及js制作時鐘進行了全面解析,分步說明,條理清晰,感興趣的朋友可以看下
    2016-12-12
  • 詳解es6新增數(shù)組方法簡便了哪些操作

    詳解es6新增數(shù)組方法簡便了哪些操作

    這篇文章主要介紹了詳解es6新增數(shù)組方法簡便了哪些操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 最新評論

    伽师县| 平利县| 临潭县| 寿光市| 周宁县| 米脂县| 东阳市| 桑日县| 泸水县| 蓝田县| 陇西县| 吉隆县| 巴东县| 五河县| 原平市| 喜德县| 凤山县| 二连浩特市| 麻栗坡县| 玛曲县| 麻江县| 伊川县| 迁安市| 新竹县| 菏泽市| 临高县| 娱乐| 黄山市| 南雄市| 兴义市| 翼城县| 武平县| 连城县| 江西省| 乐至县| 祁阳县| 仁布县| 贵港市| 商河县| 民丰县| 安龙县|