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

JavaScript的學習入門整理篇第3/3頁

 更新時間:2008年09月24日 23:22:09   作者:  
每次剛開始學語言時,作者都喜歡用“hello world”例子l來侮辱我們的智商,我想大家都不是笨蛋,故而寥寥數(shù)筆寫了一點

9:

Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在。如果嘗試編寫下面的代碼,將得到錯誤:
錯誤消息顯示Global不是對象,但剛才不是說Global是對象嗎?沒錯。這里需要理解的主要概念是,在ECMAScript中,不存在獨立的函數(shù),所有函數(shù)都必須是某個對象的方法。本書前面介紹的函數(shù),如isNaN()、isFinite()、parseInt()parseFloat()等,看起來都像獨立的函數(shù)。實際上,它們都是Global對象的方法。而且Global對象的方法不止這些。
encodeURI()encodeURIComponent()方法用于編碼傳遞給瀏覽器的URI(統(tǒng)一資源標識符)。有效的URI不能包含某些字符,如空格。這兩個方法用于編碼URI,這樣用專門的UTF-8編碼替換所有的非有效字符,就可以使瀏覽器仍能夠接受并理解它們。
encodeURI()方法用于處理完整的URI(例如,http://www.wrox.com/illegal value.htm),而encodeURIComponent()用于處理URI的一個片斷(如前面的URI中的illegal value.htm)。這兩個方法的主要區(qū)別是encodeURI()方法不對URI中的特殊字符進行編碼,如冒號、前斜杠、問號和英鎊符號,而encodeURIComponent()則對它發(fā)現(xiàn)的所有非標準字符進行編碼。例如:
這段代碼輸出兩個值:
可以看到,除空格外,第一個URI無任何改變,空格被替換為%20。第二個URI中的所有非字母數(shù)字字符都被替換成它們對應的編碼,基本上使這個URI變得無用。這就是encodeURI()可以處理完整URI,而encodeURIComponent()只能處理附加在已有URI末尾的字符串的原因。
自然,還有兩個方法用于解碼編碼過的URI,即decodeURI()decodeURIComponent()。如你所料,這兩個方法所做的恰與其對應的方法相反。decodeURI()方法只對用encodeURI()方法替換的字符解碼。例如,%20將被替換為空格,而%23不會被替換,因為它表示的是英鎊符號(#),encodeURI()并不替換這個符號。同樣的,decodeURIComponent()會解碼所有encodeURIComponent()編碼過的字符,意味著它將對所有的特殊值解碼。例如:
這段代碼輸出兩個值:
在這個例子中,變量uri存放的是用encodeURIComponent()編碼的字符串。生成的值說明了應用兩個解碼方法時會發(fā)生的事情。第一個值由decodeURI()輸出,把%20替換成空格。第二個值由decodeURIComponent()輸出,替換所有的特殊。
這些URI方法encodeURI()、encodeURIComponent()、decodeURI()decodeURICom- ponent()代替了BOM的escape()unescape()方法。URI方法更可取,因為它們會對所有Unicode符號編碼,而BOM方法只能對ASCII符號正確編碼。盡量避免使用escape()unescape()方法。
最后一個方法可能是整個ECMAScript語言中最強大的方法,即eval()方法。該方法就像整個ECMAScript的解釋程序,接受一個參數(shù),即要執(zhí)行的ECMAScript(或JavaScript)字符串。例如:
這行代碼的功能等價于下面的代碼:
當解釋程序發(fā)現(xiàn)eval()調用時,它將把參數(shù)解釋為真正的ECMAScript語句,然后把它插入該函數(shù)所在的位置。這意味著eval()調用內部引用的變量可在參數(shù)以外定義:
這里,變量msg是在eval()調用的環(huán)境外定義的,而警告仍然顯示的是文本"hello world",因為第二行代碼將被替換為一行真正的代碼。同樣,可以在eval()調用內部定義函數(shù)或變量,然后在函數(shù)外的代碼中引用:
這里,函數(shù)sayHi()是在eval()調用內部定義的。因為該調用將被替換為真正的函數(shù),所以仍可在接下來的一行中調用sayHi()
這種功能非常強大,不過也非常危險。使用eval()時要極度小心,尤其在給它傳遞用戶輸入的數(shù)據(jù)時。惡意的用戶可能會插入對站點或應用程序的安全性有危害的值(叫做代碼注入)。
Global對象不只有方法,它還有屬性。還記得那些特殊值undefined、NaNInfinity嗎?它們都是Global對象的屬性。此外,所有本地對象的構造函數(shù)也都是Global對象的屬性。
10;
open(URL,WindowName,parameterList):open方法創(chuàng)建一個新的瀏覽器窗口,并在新窗口中載入一個指定的URL地址。
close():close方法關閉一個瀏覽器窗口.
alert(text):彈出一個信息框.
confirm(text):彈出一個確認框.
prompt(text,Defaulttext):彈出一個提示框.
setTimeout(expression,time):定時設置,在一定時間后自動執(zhí)行expression描述的代碼,使用time設置時間,單位是毫秒.
clearTimeout(timer):取消以前的定時設置.
back():指示瀏覽器載入歷史記錄中的上一個URL地址.
forward():指示瀏覽器載入歷史記錄中的下一個URL地址.
stop():指示瀏覽器停止網(wǎng)頁的裝載.
location:提供當前窗口的URL信息 clearTimeout(timer):取消以前的定時設置.
back():指示瀏覽器載入歷史記錄中的上一個URL地址.
forward():指示瀏覽器載入歷史記錄中的下一個URL地址.
stop():指示瀏覽器停止網(wǎng)頁的裝載.
location:提供當前窗口的URL信息

相關文章

最新評論

宿松县| 衡山县| 鲁山县| 嘉禾县| 楚雄市| 闽侯县| 荣昌县| 阿荣旗| 静安区| 肥城市| 扶风县| 宜川县| 沾化县| 大冶市| 崇左市| 南岸区| 安西县| 区。| 墨玉县| 义马市| 庆元县| 莲花县| 沙洋县| 花垣县| 昌宁县| 禹州市| 临猗县| 富平县| 凭祥市| 浦东新区| 邓州市| 通化县| 南川市| 包头市| 凤翔县| 云和县| 白朗县| 井研县| 滦南县| 黄山市| 大理市|