国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網 責編:小采 時間:2020-11-27 21:31:21
文檔

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

JavaScript中的變量定義與儲存介紹_javascript技巧:與C、Java等編程語言不同,JavaScript中的變量是無類型的,所有的變量定義使用的關鍵詞均為var: 代碼如下: var a; var m, n; var x=42, y=test; 如果定義變量后未對該變量進行賦值,那么該變量的值為undefined。如上面代碼中的a、m、n三個
推薦度:
導讀JavaScript中的變量定義與儲存介紹_javascript技巧:與C、Java等編程語言不同,JavaScript中的變量是無類型的,所有的變量定義使用的關鍵詞均為var: 代碼如下: var a; var m, n; var x=42, y=test; 如果定義變量后未對該變量進行賦值,那么該變量的值為undefined。如上面代碼中的a、m、n三個

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


代碼如下:
var a;
var m, n;
var x=42, y="test";


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

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


代碼如下:
var b = "temp";
console.log(typeof b);//string
b = 108;
console.log(typeof b);//number


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


代碼如下:
var c = "hello";
console.log(c);//hello
var c = true;
console.log(c);//true


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

變量的儲存

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


代碼如下:
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中的每一次函數調用,JavaScript都會創建一個局部對象以儲存在該函數中定義的局部變量;如果在該函數內部還有一個嵌套定義的函數(nested function),那么JavaScript會在已經定義的局部對象內部再定義一個嵌套局部對象。對于一個函數,其內部有多少層的嵌套函數定義,也就有多少層的嵌套局部對象。該局部對象稱為“函數調用對象”(ECMAScript 3中的“call object”,ECMAScript 5中改名為“declarative environment record”,但個人認為還是ECMAScript 3中的名稱更容易理解一些)。

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

JavaScript中的變量定義與儲存介紹_javascript技巧:與C、Java等編程語言不同,JavaScript中的變量是無類型的,所有的變量定義使用的關鍵詞均為var: 代碼如下: var a; var m, n; var x=42, y=test; 如果定義變量后未對該變量進行賦值,那么該變量的值為undefined。如上面代碼中的a、m、n三個
推薦度:
標簽: 保存 技巧 定義
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 99久久免费国产精精品 | 欧美视频精品一区二区三区 | 国产亚洲欧美一区二区 | 国产一区亚洲二区三区毛片 | 国产在线视频在线观看 | 精品国产一区二区二三区在线观看 | 日韩免费视频观看 | 欧美在线视频一区在线观看 | 亚洲国产成人精品久久 | 殴美aⅴ| 在线观看亚洲一区二区 | 免费一区二区三区在线视频 | 囗交免费毛片 | 亚洲精品乱码久久久久久 | 欧美日韩中文在线 | 成人免费久久精品国产片久久影院 | 欧美资源在线 | 亚洲好骚综合 | 黄色成人在线观看 | 亚洲国产精品视频 | 热久久国产 | 777久久成人影院 | 成人免费久久精品国产片久久影院 | 亚洲一区二区三区免费观看 | 另类专区另类专区亚洲 | 亚洲欧洲高清 | 在线99视频 | 香蕉视频免费在线 | 黄色一级视频免费看 | 久久亚洲精品国产精品婷婷 | 欧美一区二区在线观看免费网站 | 中文字幕版免费电影网站 | 成人特黄午夜性a一级毛片 成人国产一区二区三区精品 | 亚洲精品高清视频 | 欧美日韩视频一区二区三区 | 日韩欧美一区二区三区在线观看 | 久久久国产一区二区三区 | 亚洲另类色图 | 久久国产亚洲欧美日韩精品 | 欧美特黄一区二区三区 | 国产精品毛片在线直播完整版 |