成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript使用心得匯總:從BOM和DOM談起

開發 前端
本文對JavaScript使用心得,尤其是BOM和DOM的一些概念進行了介紹。

JavaScript這個東西,一開始上手覺得沒什么,主要用來美化頁面而已;但是隨著對Web開發的理解更加深入,尤其是對Web 2.0下開發的接觸漸多,便會發現JavaScript其實是個十分有用的語言。下面就總結一下JavaScript的使用心得。

先說點什么呢,那就從BOM和DOM說開吧。

JavaScript使用心得之BOM和DOM

自從netscape navigator2.0把js引入到瀏覽器中,js可謂與瀏覽器接下了不解之緣,而js在瀏覽器中執行的速度,也是現在各種各樣的瀏覽器展示其牛*的主要指標之一。那BOM和DOM到底是什么類?

BOM:Browser Object Model,是瀏覽器相關的一組特性,由于和瀏覽器相關,那一定沒有統一的標準了,原因是,有ms了......,不過慶幸的是,還是有一些事實標準的。

DOM:Document Object Model,這個就是標準了,由著名的w3c制定,目前***的級別是level 3,不過3還沒有徹底完成,目前主流的瀏覽器都可以支持到(僅僅是支持到哦,并不是完全遵守的)level 2,對html,也就是html4.x,目前***的是4.01,后來w3c向把html統一向xml靠攏,于是就有了xhtml1.0,再后來,w3c想搞一個xhtml2.0,結果進度緩慢,加之各大廠商又不看好,于是就有了html5.0 (很牛的東東,有待嘗試哦)。

對規范有興趣可以瀏覽維基上的一篇文章

JavaScript使用心得之BOM描述

好了,BOM和DOM的歷史就先說到這里了,搞點實質性的東東,先說一下BOM的體系結構:

BOM的體系結構 

先從window說起,對于window,最簡單的一句就是它是表示打開頁面的瀏覽器窗口,并不包含頁面的內容。請牢記后一句話,我在最開始的時候,就用它訪問過頁面的內容,結果當然是訪問不到了。

既然是表示瀏覽器的窗口,那就一定包含:

◆新建窗口(window.open()),

◆關閉窗口(window.close()),

◆改變窗口位置(resizeBy(),resizeTo()),

◆移動窗口(moveBy(),moveTo),

還有一些其固有的特性,比如:

◆打開新的連接,并可以指定打開方式

◆彈出系統對話框(alert(),confirm(),prompt()),

◆設置超時與暫停(setTimeout(),setInterval()),

◆狀態欄,

前面的那些操作使用的時候可以查閱文檔,當然能記住更好。不過要注意不同的瀏覽器對這些方法的支持各不一樣,Oh,My God,It's  a  confusion of world!后兩個操作十分的不專業,***不要使用。

對于特性要羅嗦一下咯,***一個特性,不專業,盡量不要使用,第二和第三個,一看就知道了,也沒啥說的,***個還是有必要說一下的。

提一個問題,如何通過js實現在一個新的窗口打開連接,也就是通過js實現類似點擊

  1. < a href='http://www.sina.com' target='_blank'>sina< /a> 

的效果,用location么,錯,雖然location有target這個屬性,但,那是不行的,那怎么解決類?呵呵,答案是使用

  1. window.open('http://www.sina.com','_blank'); 

這句代碼的實際意思是把一個連接在一個指定的框架(frame)內打開,_self

,_top,_blank,這些是專有的框架名。

然后再說一說讓人迷惑的幾個東東,parent,self,top,opener,,怎么樣可區分清楚么?

其中self總是等于window,僅是名字不一樣而已,不過正是由于這個特點,使用它可以使我們的代碼更易于閱讀,而top對象和parent對象,本人認為,只有在多框架(frames)下才會被用到,top對象指向最頂層的框架,也就是當一個頁面使用了frame或iframe時,才會被用到。***opener用于window.open()打開的子窗口。

然后下來說一說document和location對象,首先,我在上面的BOM的體系結構圖中,將這兩個對象標記為了紅顏色,為什么類?簡單,是由于混亂。

document是一個既屬于BOM又屬于DOM的對象,而location對象,則是一個既屬于window,又屬于document的屬性。從BOM的角度來看,document對象中包含了頁面中一些通用的屬性和集合,不過document中的很多屬性(alinkColor,bgColor,fgColor,linkColor,vlinkColor)是可以通過css控制的,所以我的建議是能使用css控制的盡量使用css,而剩下的屬性(lastModifie

d,referrer,title,URL),基本上沒有多大的用處,要說有用的,我認為只有referrer可能有點用,它可以告訴你用戶是怎么訪問到你的頁面的。其實document的主要作用是用于DOM。

location對象表示載入窗口的URL,同時還可以用于解析URL,比如要獲得GET請求后的參數可以使用

  1. location.search 

對于history和navigator對象,history對象提供了go(int),back(),forward()方法,他們的功能類似于瀏覽器的前進和后退,不過出于安全的考慮,history僅僅提供導航的功能,要想得到用戶的瀏覽歷史,僅靠這個對象是不行的。

PS:不過要想得到用戶的歷史也不是不可能,利用a標簽的特點,呵呵,開動腦筋想一想吧

navigator對象,呵呵,常被用來判斷用戶的瀏覽器類型,和用戶的操作系統類型。不過這兩個問題也是十分復雜的問題,以后單獨說吧

***一個,screen對象,我實際的工作中沒有用到過,基于沒有實踐,就沒有發言權的偉大理論,我就不總結了

以上就介紹了這些JavaScript使用心得。

【編輯推薦】

  1. C# JavaScript函數使用
  2. JavaScript 2.0新特性搶先看 向經典語言靠近
  3. 開源語言排行榜:PHP與JavaScript受青睞
  4. ASP.NET控件開發之UpdatePanel觸發JavaScript腳本技巧
  5. 使用Javascript實現.NET驗證控件功能
責任編輯:yangsai 來源: skeeey的博客
相關推薦

2010-06-07 16:55:00

JavaScript

2009-08-11 11:42:50

Ruby使用心得

2011-01-19 14:57:09

Thunderbird

2009-06-19 11:09:27

Spring AOP

2011-01-07 11:14:17

Nginx負載均衡負載均衡

2010-02-01 10:15:07

C++ TinyXML

2011-09-01 10:16:43

JQuery Mobi

2009-07-31 18:37:45

ASP.NET MVC

2022-06-27 19:16:53

Obsidian工具

2009-06-26 16:12:08

ThickboxjQuery

2010-03-02 17:33:49

Android 2.0

2009-08-28 10:08:15

C# using語句

2017-04-25 16:45:11

2011-07-12 14:38:35

XenServer 5

2009-08-31 10:00:07

C#靜態變量

2011-03-15 11:05:03

2010-06-01 13:42:37

TortoiseSVN

2011-04-20 13:59:28

愛普生V100掃描儀

2010-08-06 11:12:38

FlexCairngorm框架

2022-11-02 08:36:35

ArgoAIOPS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片com| 亚洲美女一区 | 神马影院一区二区三区 | 天天操狠狠操 | 91资源在线 | 国产精品免费一区二区三区 | 久久精品屋 | 国产精品久久久久久一区二区三区 | 一区二区三区中文字幕 | 欧美激情视频一区二区三区在线播放 | 欧美精品一区在线发布 | 亚洲国产高清免费 | 精品视频一区二区三区在线观看 | 在线视频a | 天天精品在线 | 久久精品成人 | 久久久国产一区二区三区四区小说 | 偷拍自拍第一页 | 国产精品久久久久久久久久三级 | 国产精品视频一区二区三区 | 日韩视频高清 | 色狠狠一区 | 夜夜爽99久久国产综合精品女不卡 | 久久婷婷国产香蕉 | 国产精品毛片久久久久久 | 91中文在线观看 | 亚洲欧美激情四射 | 国产精品一区二区三 | 亚洲网址在线观看 | 狠狠久久 | 久久首页| 久久精品欧美电影 | 亚洲综合视频 | 中文字幕在线观看一区 | 久久久久亚洲精品国产 | 国产做a爱片久久毛片 | 狠狠av| 天天艹天天干天天 | 色爽女 | 九九天堂网 | 午夜伦理影院 |