如果運行了這段程式碼,會彈出「hello,ajax!」的窗口,這正是執行hello()函數的結果。那為什麼hello()變成了window物件的方法呢?因為在一個頁面內定義的所有全域變數和全域函數都是作為window物件的成員。例如:

複製程式碼 程式碼如下:

var a=1;
alert(> window.a);

就會彈出對話框顯示為1。同樣的原理,在不同框架之間共享變數和函數,就是要透過window物件來呼叫。
例如:一個商品瀏覽頁面由兩個子框架組成,左側表示商品分類的連結;當使用者點擊分類連結時,右側顯示對應的商品清單;使用者可以點擊商品旁的【購買】連結將商品加入購物車。
在這個例子中,可以利用左側導航頁面來儲存使用者想要購買的商品,因為當使用者點擊導覽連結時,變化的是另外一個頁面,即商品展示頁面,而導覽頁面本身是不變的,因此其中的JavaScript變數不會遺失,可以用來儲存全域資料。其實作原理如下:
假設左側頁面為link.html,右側頁為show.html,頁面結構如下:

複製程式碼 程式碼如下:

PUBL "///W3/IC DTD HTML 4.0 Transitional//EN">


New Document


     
     


在show.html中展示的商品旁邊可以加入這樣一條語句:
加入購物車
其中link表示導航框架,在link.html頁面中定義了arrOrders數組來儲存商品的id,函數addToOrders()用來回應商品旁邊【購買】連結的點擊事件,它接收的參數id表示商品的id,例子中是一個id為32068的商品:

複製程式碼 程式碼如下:



這樣,在結帳頁面或是購物車瀏覽頁面就可以用arrOrders來取得所有準備購買的商品。 框架可以使一個頁面劃分為功能獨立的多個模組,每個模組之間彼此獨立,但又可以透過window物件的引用來建立聯繫,是Web開發中的重要機制。
相關標籤:
來源:php.cn
上一篇:jquery序列化form表單使用ajax提交後處理傳回的json資料_jquery 下一篇:js實作文字方塊中焦點在最後位置_javascript技巧
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
相關專題
更多>
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板