国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

js變量作用域及可訪問性的探討

2024-09-06 12:44:29
字體:
供稿:網(wǎng)友
每一種語言都有變量的概念,變量是用來存儲信息的一個元素。比如下面這個函數(shù): 

代碼如下: function Student(name,age,from) 

 this.name = name; 
  this.age = age; 
 this.from = from; 
  this.ToString = function() 
 { 
  return "my information is name: "+this.name+",age : "+this.age+", from :" +this.from; 
  } 

   Student類有三個變量,分別為name(名字),age(年齡),from(籍貫),這三個變量構(gòu)成了描述一個對象的信息。當然,這里還有一個方法用來返回Student的信息。
   但是,我們是不是定義了一個變量,它就能一直存在著,并且還有可能在任何地方都能被訪問和使用直到其被銷毀?仔細想想,上面的需求是比較過分的,因為某些變量在某個功能實現(xiàn)后就不再利用了,但如果這個變量還存在的話,就占用了系統(tǒng)資源了,俗語曰:“站著茅坑不拉#$%”。
   于是我們對變量的及時和按需求地銷毀有一個探討的話題了。
   好,切入正題吧,就本人所接觸過的來講,js中支持如下幾種類型的變量,分別為:局部變量、類變量、私有變量、實例變量、靜態(tài)變量和全局變量。接下來我們就一一探討研究下。

局部變量:

局部變量一般指在{}范圍內(nèi)有效變量,也就是語句塊內(nèi)有效的變量,如: 

  代碼如下:function foo(flag) 

 var sum = 0; 
 if(flag == true) 
 { 
  var index; 
  for(index=0;index<10;index++) 
  { 
   sum +=index; 
  } 

 document.write("index is :"+index+"<br>"); 
 return sum; 

//document.write("sum is :" +sum+"<br>"); 
document.write("result is :"+foo(true)+"<br>");    該代碼執(zhí)行后輸出的結(jié)果為:“index is :undefined” 和 “result is :0”,我們可以看到希望輸出的index變量的值為undefined,也就是未定義。因此我們可以發(fā)現(xiàn),index變量在if語句塊結(jié)束后即被銷毀了。那么“sum”變量呢?這個變量在foo()函數(shù)段執(zhí)行完畢后被銷毀了,如果您去掉我注釋的那條語句,再執(zhí)行,您將會發(fā)現(xiàn)系統(tǒng)將報錯。值得注意的是,如果我把上面的foo()函數(shù)改成如下: 

  代碼如下:function foo(flag) 
 { 
  var sum = 0; 
  for(var index=0;index<10;index++) 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东兰县| 宜春市| 密山市| 潜江市| 于田县| 灵石县| 三江| 兴义市| 东安县| 望都县| 云梦县| 鲜城| 资兴市| 安图县| 永仁县| 湖南省| 东方市| 岑巩县| 盈江县| 日土县| 夹江县| 贵港市| 望江县| 西乌珠穆沁旗| 清镇市| 大理市| 吴江市| 信宜市| 金山区| 珲春市| 丹东市| 名山县| 会同县| 宝兴县| 云霄县| 方山县| 收藏| 镶黄旗| 聂荣县| 台州市| 吉隆县|