欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript入門學(xué)習(xí)第二篇 js類型

 更新時間:2008年07月06日 09:58:09   作者:  
上篇文章講了js中的一些概念(詞法結(jié)構(gòu)) 和 數(shù)據(jù)類型(部分)。 這章我們 繼續(xù).然后了解下js中操作數(shù)據(jù) 和 函數(shù)的 作用域。

4,垃圾收集機(jī)制:
Js中自動釋放內(nèi)存。
比如:
var  s  =”heelo”;
var  b   = s.toUpperCase();
s=b; //運行到這里后,js會自動檢測不再使用某個對象,因為s=b了,所以js會自動釋放字符串“heelo”所占的存儲空間。即我們不能再獲取原始的 “heelo” 值;.

5 , javascript變量:
Js是非類型的。它的變量可以放任何類型的值。

變量的聲明:
var  a  ;
var  b  ;
或者
var  a , b ;
或者
var  a=0 , b=1 ;

重復(fù)聲明 是合法的,
如果 遺漏聲明 , js會隱式的聲明該變量。當(dāng)然隱式聲明的變量總是全局變量。

6 , 變量的作用域:
Js有2種:全局和局部。
從名字的定義可以知道,全局變量的作用域是全局性的。
在js代碼中,處處都有定義。
局部變量的作用域是局部的。
在函數(shù)體內(nèi)定義。

同名的局部變量的優(yōu)先級比同名的全局變量高,下面的例子說明了這點:
var a ="abc"; //全局變量
function check(){
var a = "efg"; //同名的局部變量
document.write(a); 
}
check(); //  輸出 efg

看一個比較經(jīng)典的例子:
   var scope = "global";
 function f(){
     alert(scope); //輸出 undefined
     var scope = "local";
     alert(scope); //輸出 local
}
f();

為什么第一個會輸出undefined 呢?
因為js規(guī)定當(dāng) 局部變量和全局變量的名稱相同的時候,函數(shù)體內(nèi)的同名全局變量會被隱藏。
那么剛才例子 實際 等價于:
function f(){
var scope;
 alert(scope); 
     scope = "local";
     alert(scope);
 }
f();
OK,如果你看懂了這個例子,說明你對局部和全局的一些區(qū)別稍微了解了。

7 , 變量的作用域:
從里到外:
詞法作用域    作用域鏈    變量查找
var x = 1;
function f(){
  var y =2 ;
 function g(){
   var z =3 ;
}

}    調(diào)用g()對象; z =3 ;

  


調(diào)用f()對象; y =2 ;




全局變量  x = 1       在此定義了嗎?
         是
 否           
獲得值
 在此定義了嗎?
         是
 否           
獲得值
在此定義了嗎?
         是
 否           
獲得值
 未定義

8 , 客戶端全局變量:
 在客戶端js中,Window對象代表瀏覽器窗口,他是一個全局對象。、
比如 ;我們常用的 parseInt() , Math() 都是Window對象定義的屬性。

Js允許多個全局變量的執(zhí)行環(huán)境,每個環(huán)境有不同的全局對象。
比如:客戶端js的每個獨立的瀏覽器窗口,或者同一窗口的不同幀。
其中的代碼都運行在自己的執(zhí)行環(huán)境中,具有自己的全局對象。
當(dāng)然可以使用 表達(dá)式 parent.frames[0].x  ; 來引用第一個幀中的全局變量 x  ;這樣就把不同幀中的代碼聯(lián)系起來了。
不過這里有安全性問題。

總結(jié);
主要講了 傳值和傳址 和 函數(shù)的作用域 。
對新手來說稍微難理解些。如果還有不懂,可以google 搜索資料
或者聯(lián)系我 ,可以去我的blog 給我留言 :
http://www.cssrain.cn/LoadMod.asp?plugins=GuestBookForPJBlog

今天講到這里了,呵呵,明天繼續(xù)。相信大家的js技術(shù)會一步步提高的。

相關(guān)文章

最新評論