国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 马关县| 南部县| 樟树市| 西藏| 皋兰县| 壤塘县| 竹溪县| 潞西市| 盐山县| 凉城县| 苏尼特左旗| 临海市| 山东省| 礼泉县| 古田县| 乌鲁木齐县| 台湾省| 新晃| 白朗县| 禄劝| 漳浦县| 罗江县| 固原市| 襄汾县| 怀宁县| 晋宁县| 景宁| 安顺市| 岗巴县| 清丰县| 临沂市| 馆陶县| 夏河县| 泾阳县| 乌拉特前旗| 孟连| 罗城| 永清县| 隆尧县| 高州市| 马山县|