欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      JavaScript學(xué)習(xí)總結(jié)(最終版)

      時(shí)間:2019-05-12 11:56:40下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《JavaScript學(xué)習(xí)總結(jié)(最終版)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《JavaScript學(xué)習(xí)總結(jié)(最終版)》。

      第一篇:JavaScript學(xué)習(xí)總結(jié)(最終版)

      1、JavaScript變量可以使用var事先進(jìn)行聲明,也可以用賦值語句隱藏聲明。對(duì)于一個(gè)變量,它存在指的是它擁有值。檢查一個(gè)變量是否有值的方法是使用Window對(duì)象,因?yàn)镴avaScript聲明或使用的變量都屬于Window對(duì)象的屬性。

      2、JavaScript函數(shù)使用function命令聲明,如果函數(shù)有返回值,在調(diào)用時(shí)就可以使用指定語

      句獲取返回值。當(dāng)調(diào)用函數(shù)傳入?yún)?shù)時(shí),函數(shù)即使沒有指明參數(shù)名稱,也一樣可以使用參數(shù)數(shù)組的對(duì)象arguments獲取參數(shù)的個(gè)數(shù)和參數(shù)值。

      3、局部變量:在函數(shù)內(nèi)聲明,只能在函數(shù)內(nèi)的程序使用;全局變量:在函數(shù)外聲明,整個(gè)

      JavaScript程序的函數(shù)和程序代碼都可以使用。

      4、自定義JavaScript的對(duì)象:直接建立Object對(duì)象副本后,可新增所需的屬性和方法;建

      立對(duì)象的構(gòu)造函數(shù),定義屬性和方法,使用new命令建立對(duì)象副本時(shí),構(gòu)造函數(shù)傳入的參數(shù)是對(duì)象的屬性值,如果在建立副本時(shí)未指定屬性值,一樣可以在建立副本后再設(shè)置對(duì)象的屬性值。

      5、JavaScript的內(nèi)置對(duì)象:Array、Date、Function、Math、String···

      6、DHTML對(duì)象模型:是將瀏覽器和HTML文件的標(biāo)簽都對(duì)象化,以便JavaScript程序代

      碼可以輕易地操控瀏覽器和訪問HTML標(biāo)簽的對(duì)象。

      版本3.xBOM、版本4.xDHTML=BOM+DHTML DOM、版本5.xBOM+W3C DOM7、DOM對(duì)象模型是一種擁有擴(kuò)展性的文件架構(gòu)

      DOM Level 0-DHTML DOM、DOM Level 1 – W3C DOM

      DHTML DOM 和 W3C DOM 的差異在于DHTML DOM只是將整份HTML文件都對(duì)象化,每一個(gè)HTML標(biāo)簽都對(duì)應(yīng)有標(biāo)簽對(duì)象;W3C DOM屬于一種通用的文件瀏覽和訪問機(jī)制,可以將整份HTML或XML文件視為一種階層架構(gòu)的樹狀結(jié)構(gòu)。

      8、DHTML對(duì)象模型的完整架構(gòu)是由BOM的根對(duì)象Window開始。

      9、Window對(duì)象:瀏覽器的窗口對(duì)象

      瀏覽器的狀態(tài)欄:屬性defaultStatus、status

      定時(shí)器:方法setTimeout(express,time)clearTimeout()

      只會(huì)運(yùn)行一次,在經(jīng)過設(shè)置的一段時(shí)間后,運(yùn)行指定的函數(shù)或表達(dá)式

      方法setInterval(express,time)clearInteval()

      一旦啟動(dòng)就可以周期性地運(yùn)行函數(shù)或表達(dá)式

      窗口的打開與關(guān)閉:open(url,winName)方法可以打開一個(gè)全新的窗口,并且使用JavaScript程序代碼獲取新窗口的Window對(duì)象;在父窗口使用winID訪問新窗口的屬性和方法,Window對(duì)象的opener屬性可以參考到父窗口的Window對(duì)象。

      Close()方法可以關(guān)閉一個(gè)窗口。

      10、Window對(duì)象內(nèi)置對(duì)話框:

      alert(message)顯示一個(gè)警告信息的窗口,參數(shù)就是顯示的信息內(nèi)容。

      confirm(message)一個(gè)確認(rèn)的對(duì)話框,參數(shù)為信息內(nèi)容,傳回true表示單擊”確認(rèn)”按鈕,false為”取消”按鈕。

      Prompt(msg,value)顯示輸入文字內(nèi)容的對(duì)話框,參數(shù)msg為信息內(nèi)容,value為默認(rèn)值,傳回用戶輸入的字符串。

      showModelessDialog(url,arguments,features)顯示一個(gè)新的窗口,參數(shù)url為顯示的網(wǎng)頁。arguments為傳送到顯示網(wǎng)頁的參數(shù),可以是任何數(shù)據(jù),例如對(duì)象;在顯示的網(wǎng)頁中可以使用window對(duì)象的dialogArguments屬性獲取傳遞過來的參數(shù)。feature參數(shù)可以設(shè)置對(duì)話框的外觀。

      11、更改窗口的尺寸和位置:

      Window對(duì)象的屬性:screenLeft傳回左邊界的坐標(biāo) screenTop傳回上邊界的坐標(biāo)

      Window對(duì)象的方法:moveTo(x,y)將瀏覽器移到坐標(biāo)x和y的位置

      moveBy(offsetx,offsety)將瀏覽器目前的位置移動(dòng)參數(shù)的位移量

      resizeTo(width,height)將瀏覽器窗口調(diào)整為參數(shù)width和height的尺寸resizeBy(offsetx,offsety)將瀏覽器窗口尺寸放大或縮小

      12、窗口內(nèi)容的卷動(dòng)

      Window對(duì)象的方法:scroll(x,y)、scrollTo(x,y)滾動(dòng)窗口內(nèi)容到指定的位置

      scrollBy(offsetx,offsety)從目前窗口內(nèi)容的位置,滾動(dòng)參數(shù)的位移量

      13、Navigator對(duì)象:獲取瀏覽器和系統(tǒng)資源的信息

      14、History對(duì)象:保存歷史記錄

      15、Location對(duì)象:保存目前URL網(wǎng)址的詳細(xì)數(shù)據(jù)

      屬性:href 返回完整的URL字符串,重設(shè)該屬性可以轉(zhuǎn)向鏈接到其他的網(wǎng)址

      方法:reload()重新加載現(xiàn)在打開的HTML文件,如同瀏覽器工具欄中的“刷新”按鈕replace(url)轉(zhuǎn)向到參數(shù)url的網(wǎng)址,如同設(shè)置href屬性

      16、Document對(duì)象:

      打開與寫入文件:方法open(“text/html”,”replace”)可以清除目前的文件內(nèi)容,第一個(gè)參數(shù)是MIME類型,text/html就是html文件,第二個(gè)參數(shù)replace可以取代歷史記錄,瀏覽器就無法按工具欄的“上一頁”按鈕返回上一頁。

      方法 write()或writeln()輸出HTML文件的內(nèi)容

      方法 close()顯示輸出的內(nèi)容

      獲取文件的指定元素:getElementById()

      17、JavaScript的Cookies處理:Cookies可以在客戶端的計(jì)算機(jī)保存所需的數(shù)據(jù),可以使用

      Document對(duì)象的cookie屬性處理Cookie的訪問,返回的字符串使用“;”分隔每一個(gè)Cookie

      新增Cookie函數(shù):saveCookie(name,value,expires)

      獲取Cookie值函數(shù):getCookie(name)

      檢查Cookie是否存在的函數(shù):checkCookieExit()

      刪除Cookie函數(shù):deleteCookie(name)

      18、DHTML DOM的Collection對(duì)象:

      document.all對(duì)象集合可以獲取HTML文件中所有的標(biāo)簽對(duì)象,這是一個(gè)數(shù)組對(duì)象,依

      照標(biāo)簽在HTML文件出現(xiàn)的順序,可以使用索引值訪問指定的標(biāo)簽對(duì)象,如document.all[i]。也可以直接使用id屬性獲取,如document.all(“myId”)或myId。

      如果HTML文件擁有同名的id屬性,獲取的仍然是一個(gè)集合,還需要使用item()方法

      獲取指定的標(biāo)簽對(duì)象。

      同理,myBody.all對(duì)象集合可以獲取id為myBody的body區(qū)域塊中的所有標(biāo)簽對(duì)象。在all對(duì)象集合的所有標(biāo)簽對(duì)象中,可以進(jìn)一步使用tags()方法篩選出指定標(biāo)簽的對(duì)象集

      合,如document.all.tags(“p”),可使用length屬性獲取共有多少個(gè)

      標(biāo)簽。

      19、HTML文件的階層架構(gòu):

      HTML文件中的標(biāo)簽屬于一種階層架構(gòu),可以使用parentElement屬性獲取上一層的標(biāo)

      簽對(duì)象,用children對(duì)象集合獲取下一層標(biāo)簽的對(duì)象集合,這個(gè)對(duì)象集合可以進(jìn)一步使用item()方法獲取指定的標(biāo)簽對(duì)象。

      20、訪問HTML標(biāo)簽的內(nèi)容:

      innerText()訪問標(biāo)簽對(duì)象的內(nèi)容

      innerHTML()訪問標(biāo)簽對(duì)象內(nèi)的子標(biāo)簽和內(nèi)容,不包含標(biāo)簽對(duì)象本身

      outerText()訪問標(biāo)簽對(duì)象的內(nèi)容,可以用來取代整個(gè)標(biāo)簽對(duì)象

      outerHTML()訪問標(biāo)簽對(duì)象的子標(biāo)簽和內(nèi)容,包括標(biāo)簽對(duì)象本身

      21、訪問HTML標(biāo)簽的屬性:

      在獲取HTML標(biāo)簽的對(duì)象后,也可以訪問標(biāo)簽對(duì)象的屬性

      22、CSS層級(jí)式樣式表:

      HTML標(biāo)簽都擁有默認(rèn)的顯示樣式,CSS能夠重新定義HTML標(biāo)簽的顯示效果,也可以自定義新的樣式名稱。

      如果是class屬性,則定義的樣式名稱以”.”句點(diǎn)開始,可以定義多個(gè)值,并且可以應(yīng)用到多個(gè)標(biāo)簽上

      如果是id屬性,則定義的樣式名稱以”#”開始,可以定義多個(gè)值,但只能應(yīng)用到一個(gè)標(biāo)簽上

      23、動(dòng)態(tài)樣式CSS:

      CSS樣式屬性可以對(duì)應(yīng)Style對(duì)象的屬性,在獲取HTML標(biāo)簽對(duì)象后,可以訪問Style對(duì)象的屬性,如:objEle.style.color24、DHTML的事件:

      事件就是在瀏覽器顯示和閱讀HTML文件時(shí),鼠標(biāo)、鍵盤或文件加載等操作所觸發(fā)的一些動(dòng)作

      鼠標(biāo)事件:onclick 單擊鼠標(biāo)左鍵 ondbclick 雙擊鼠標(biāo)左鍵 onmousemove 移動(dòng)鼠標(biāo)onmouseout 鼠標(biāo)指針離開HTML標(biāo)簽

      onmouseover鼠標(biāo)指針進(jìn)入HTML標(biāo)簽

      onmousedown 按下鼠標(biāo)鍵onmouseup 放開鼠標(biāo)鍵

      鍵盤事件:onkeydown 當(dāng)按下鍵盤按鍵 onkeyup 放開鍵盤按鍵

      其他常用事件:onload 當(dāng)瀏覽器加載HTML文件后

      onunload 當(dāng)用戶離開瀏覽器,或是加載其他網(wǎng)頁時(shí)

      onfocus 用戶指定對(duì)象擁有處理權(quán)

      onblur 用戶離開擁有處理權(quán)的對(duì)象

      onchange 用戶更改對(duì)象的內(nèi)容

      onsubmit 用戶發(fā)送窗體字段

      onreset 用戶重設(shè)窗體字段

      onselect 用戶選擇了網(wǎng)頁內(nèi)容

      25、JavaScript的事件處理:

      方式一:在HTML標(biāo)簽的屬性中設(shè)置JavaScript的事件處理函數(shù)

      如:

      方式二:在對(duì)象的屬性中設(shè)置JavaScript的事件處理

      如:document.myForm.myButton.onclick = showAlert;

      如果事件是由Window或Document等上層對(duì)象所觸發(fā),此時(shí)只需設(shè)置對(duì)象的事件屬性,就可以指定事件的處理函數(shù)

      取消事件的處理:可以取消用戶新增的事件處理函數(shù),也可以取消瀏覽器默認(rèn)的事件處

      理函數(shù)。

      當(dāng)事件觸發(fā)后,瀏覽器默認(rèn)的事件處理函數(shù)就會(huì)進(jìn)行事件的處理,擁有默認(rèn)處理函數(shù)的 常見事件有:元素 事件onclick 單擊可以顯示其他URL網(wǎng)址的HTML文件元素

      事件onsubmit 發(fā)送窗體字段的內(nèi)容

      元素document 事件oncontextmenu 單擊鼠標(biāo)右鍵可以顯示一個(gè)快捷菜單 方式一:將事件屬性設(shè)為null

      如:document.myForm.myButton.onclick = null;

      方式二:使用自定義的事件處理函數(shù),函數(shù)傳回false時(shí)就可取消事件

      如:return false;

      方式三:將event對(duì)象的returnValue屬性設(shè)置為false

      如:event.returnValue = false;

      26、Event對(duì)象:

      當(dāng)事件觸發(fā)時(shí)就會(huì)產(chǎn)生一個(gè)Event對(duì)象,它的屬性用來記錄事件觸發(fā)時(shí)的一些數(shù)據(jù)Event對(duì)象是一個(gè)全局屬性,不能把Event對(duì)象作為參數(shù)傳遞給事件處理函數(shù)屬性:srcElement 返回事件觸發(fā)時(shí)的標(biāo)簽對(duì)象

      returnValue 設(shè)置和取消事件的返回值

      27、DHTML DOM的窗體對(duì)象的架構(gòu)

      使用字段名稱訪問窗體字段:如 document.myForm.myUserName.value

      使用forms和elements對(duì)象訪問字段:如 document.forms[0].elements[0].value28、Form對(duì)象

      屬性:name、action、method、target

      方法:submit()發(fā)送窗體字段到服務(wù)器reset()重設(shè)窗體的各字段為默認(rèn)值

      29、Input對(duì)象

      屬性:name、type、value、disabled、form、readonly、maxlength

      針對(duì)單選按鈕和復(fù)選框的屬性:checked

      方法:blur()設(shè)置Input對(duì)象失去處理權(quán)focus()設(shè)置Input對(duì)象擁有處理權(quán)

      select()選擇Input對(duì)象click()觸發(fā)其他字段的onclick事件

      30、Select對(duì)象

      屬性:name、disabled、length、options、selectedIndex、size、multiple

      方法:blur()設(shè)置Select對(duì)象失去處理權(quán)focus()設(shè)置Select對(duì)象擁有處理權(quán)

      add(objOption, index)新增一個(gè)

      使用構(gòu)造函數(shù)建立Option對(duì)象:var objOption = new Option(text, value)

      remove(index)刪除參數(shù)索引值的選項(xiàng)

      31、Option對(duì)象

      屬性:value、text、selected32、Textarea對(duì)象

      屬性:cols、rows

      方法:blur()設(shè)置Textarea對(duì)象失去處理權(quán)focus()設(shè)置Textarea對(duì)象擁有處理權(quán)

      select()選擇Textarea對(duì)象

      33、JavaScript的窗體字段驗(yàn)證

      驗(yàn)證屬性: 文字、密碼和備注 value

      單選按鈕和復(fù)選框 checked

      下拉式菜單selected

      方法:submit()onsubmit事件

      34、Table對(duì)象

      屬性:border、cellPadding、cellSpaing、rows

      方法:insertRow(index)在表格插入一個(gè)新行,插入的位置是在參數(shù)的行號(hào)之前deleteRow(index)在表格刪除傳入?yún)?shù)行號(hào)的表格行

      35、TableRow對(duì)象

      屬性:cells、rowIndex

      方法:insertCell(index)插入單元格,是插在傳入的單元格編號(hào)之前

      deleteCell(index)刪除傳入單元格編號(hào)參數(shù)的單元格

      36、TableCell對(duì)象

      屬性:colSpan、rowSpan、cellIndex37、Window對(duì)象的frames對(duì)象集合當(dāng)瀏覽器顯示框架頁時(shí),框架頁的每一個(gè)框架都是一個(gè)Window對(duì)象,使用frame[]對(duì)象集合獲取各框架的Window對(duì)象,也可以直接使用框架標(biāo)簽的名稱來獲取各框架的Window對(duì)象。

      Window對(duì)象的屬性:self 返回目前的Window對(duì)象

      parent 返回目前框架的上一層對(duì)象

      top 如果是一個(gè)嵌套框架,top就是最上層的Window對(duì)象

      38、FrameSet對(duì)象

      屬性:name、cols、rows39、Frame對(duì)象

      屬性:name、src40、Iframe對(duì)象

      屬性:name、src41、Anchor對(duì)象

      屬性:href、target 訪問顯示的框架名稱或窗口(默認(rèn)值有_blank _self _parent)方法:blur()設(shè)置Anchor對(duì)象失去處理權(quán)focus()設(shè)置Anchor對(duì)象擁有處理權(quán)

      42、W3C DOM瀏覽節(jié)點(diǎn)

      DHTML DOM 和W3C DOM最主要的差異就是獲取節(jié)點(diǎn)的方式

      DHTML DOM需要使用id/name屬性或者對(duì)象集合等不同方式才能獲得標(biāo)簽對(duì)象

      W3C DOM提供一致的走訪方式,只要建立好樹狀結(jié)構(gòu),所有能走訪到的節(jié)點(diǎn)就是標(biāo)簽

      對(duì)象

      只讀屬性:firstChild、lastChild、parentNode、nextSibling、previousSibling、nodeName讀/寫屬性:nodeValue訪問文字節(jié)點(diǎn)的內(nèi)容

      對(duì)象集合:childNodes子節(jié)點(diǎn)的對(duì)象集合、attributes節(jié)點(diǎn)屬性的對(duì)象集合43、Ajax應(yīng)用程序架構(gòu)

      傳統(tǒng)Web應(yīng)用程序架構(gòu):瀏覽器向web服務(wù)器提出HTTP請(qǐng)求,web服務(wù)器處理后產(chǎn)生HTML文件,就可以傳回瀏覽器來顯示。服務(wù)器可能單純傳回請(qǐng)求的HTML文件,或運(yùn)行服務(wù)器網(wǎng)頁技術(shù)ASP、JSP等,動(dòng)態(tài)產(chǎn)生或進(jìn)一步從數(shù)據(jù)庫取出所需數(shù)據(jù)來建立相應(yīng)的HTML文件。在客戶端瀏覽器只是單純顯示HTML網(wǎng)頁內(nèi)容,而且瀏覽器需要等待服務(wù)器響應(yīng)后,才能顯示網(wǎng)頁內(nèi)容。

      Ajax應(yīng)用程序架構(gòu):最大差異是在客戶端新增JavaScript編寫的Ajax引擎來處理HTTP請(qǐng)求,并獲取服務(wù)器的響應(yīng)數(shù)據(jù),更新網(wǎng)頁接口的部分內(nèi)容。用戶不再需要等待服務(wù)器的相應(yīng),就可以進(jìn)行其他操作。

      44、XML的基礎(chǔ)

      XML是可擴(kuò)展的標(biāo)識(shí)語言,用來描述數(shù)據(jù),需要自行定義描述數(shù)據(jù)所需的各種標(biāo)簽。XML文件的組成元素:

      元素、屬性、實(shí)體參考:< <> >& &'?" “

      批注:PCDATA:XML文件的文字內(nèi)容

      CDATA區(qū)塊: 通常用來保存程序代碼數(shù)據(jù)

      PI: 允許XML文件包含傳送給應(yīng)用程序的命令。

      DTD:XML文件的驗(yàn)證機(jī)制,可以檢查XML標(biāo)簽和文件架構(gòu)是否正確。

      45、XHTML的基礎(chǔ)

      XHTML仍然使用HTML4.0版的標(biāo)簽,它是W3C制定用來取代HTML4.0版的下一代HTML。XHTML文件是良好格式的HTML,它必須遵循XML文件的編寫規(guī)則: ·不可以省略結(jié)尾標(biāo)簽,保證所有標(biāo)簽都成對(duì)出現(xiàn)

      ·標(biāo)簽和屬性都是使用小寫的英文字

      ·屬性值需要使用引號(hào)括起來

      ·name屬性使用id屬性取代

      46、XML DOM

      XML DOM是W3C DOM針對(duì)XML文件所提供應(yīng)用程序的標(biāo)準(zhǔn)的程序接口,可以通過接口來訪問各種節(jié)點(diǎn)對(duì)象。

      第二篇:javascript常用語句

      <%

      if username=“" then

      response.write”“

      Response.End

      end if

      if len(username)<6 then

      response.write”“

      Response.End

      end if

      if password=”“ then

      response.write”“

      Response.End

      end if

      if len(password)<6 then

      response.write”“

      Response.End

      end if

      if password<>re_password then

      response.write”“

      Response.End

      end if

      if not isnumeric(tel)then

      response.write”“

      Response.End

      end if

      if not IsValidEmail(email)then

      response.write”“

      Response.End

      end if

      if not isnumeric(qq)then

      response.write”“

      Response.End

      end if

      %>

      response.write ”“

      response.Write ”“

      response.End

      第三篇:Javascript學(xué)習(xí)心得

      Javascript學(xué)習(xí)心得

      Javascript的應(yīng)用目的

      通過對(duì)JavaScript的學(xué)習(xí),知道它是由C語言演變而來的,而且在很大程度上借用了Java的語法,而Java又是由C和C++演生而來的,所以JavaScript和C有許多相似的語法特點(diǎn)。JavaScript的出現(xiàn),可以使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)的、動(dòng)態(tài)的、可交互的表達(dá)能力。從而基于CGI靜態(tài)的HTML頁面將被可提供動(dòng)態(tài)實(shí)時(shí)信息,并對(duì)客戶操作進(jìn)行反應(yīng)的Web頁面取代。JavaScript 腳本正是滿足這種需求而產(chǎn)生的語言。它深受廣泛用戶的喜愛和歡迎,它是眾多腳本語言中較為優(yōu)秀的一種。

      Javascript的優(yōu)點(diǎn)

      JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的腳本語言。使用它的目的是與HTML超文本標(biāo)記語言、Java 腳本語言一起實(shí)現(xiàn)在一個(gè)Web頁面中鏈接多個(gè)對(duì)象,與Web客戶交互作用。從而可以開發(fā)客戶端的應(yīng)用程序等。它是通過嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個(gè)基本特點(diǎn):

      一、腳本編寫語言

      JavaScript是一種腳本語言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語言一樣,JavaScript 同樣已是一種解釋性語言,它提供了一個(gè)簡易的開發(fā)過程。它的基本結(jié)構(gòu)形式與C、C++、VB等語言十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運(yùn)行過程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作。

      二、基于對(duì)象的語言

      JavaScript是一種基于對(duì)象的語言,同時(shí)以可以看作一種面向?qū)ο蟮?。這意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可以來自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。

      三、簡單性

      JavaScript的簡單性主要體現(xiàn)在:首先它是一種基于Java 基本語句和控制流之上的簡單而緊湊的設(shè)計(jì), 從而對(duì)于學(xué)習(xí)Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。

      四、安全性

      JavaScript 是一種安全性語言,它不允許訪問本地的硬盤,并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。

      五、動(dòng)態(tài)性

      JavaScript 是動(dòng)態(tài)的,它可以直接對(duì)用戶或客戶輸入做出響應(yīng),無須經(jīng)過Web 服務(wù)程序。它對(duì)用戶的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱為“事件”。比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。

      六、跨平臺(tái)性

      JavaScript 是依賴于瀏覽器本身,與操作環(huán)境無關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持JavaScript的瀏覽器就可正確執(zhí)行。

      Javascript的運(yùn)行步驟

      根據(jù)JavaScript腳本編寫的方式,腳本的執(zhí)行也分為多種情況。當(dāng)瀏覽器打開一個(gè)HTML文檔時(shí)它將從頭開始解釋整個(gè)文檔,而有一些腳本如函數(shù)function,則會(huì)在它們被調(diào)用的時(shí)候運(yùn)行,腳本函數(shù)的調(diào)用往往都是通過事件來進(jìn)行驅(qū)動(dòng)的,如在一個(gè)HTML 文檔被裝載onLoad的時(shí)候可以執(zhí)行腳本函數(shù)。

      第四篇:前臺(tái)javascript速度優(yōu)化總結(jié)

      兩個(gè)基本點(diǎn)

      1.擇重避輕,有所取舍。

      ? 核心優(yōu)先

      通常來講,系統(tǒng)是都是龐大的,不要太完美主義,先抓住重點(diǎn),理解那些是我們的核心頁面,那些頁面對(duì)我們來說是最重要的,那些頁面訪問量最高,核心優(yōu)先。

      ? 主要問題在那,抓住瓶頸點(diǎn)。

      治病要醫(yī)本。優(yōu)化前,需要進(jìn)行細(xì)致的分析,抓住主要瓶頸點(diǎn),對(duì)癥下藥。優(yōu)化那么多的方子,別全采用,通常幾個(gè)就能達(dá)到效果 2.簡單有效才是硬道理

      越是簡單的東西越容易控制,越不容易出錯(cuò),盡量避免將系統(tǒng)設(shè)計(jì)的過于龐大,過于復(fù)雜,記住,這是在做產(chǎn)品,而不是在搞研發(fā)。很多看似很蠢的方法,往往越是有效。

      新技術(shù),新方法的引用是具備一定的風(fēng)險(xiǎn)的,要評(píng)估,要慎重。

      Js處理

      1.盡量放到頁面尾部

      Js的加載時(shí)阻塞頁面的,沒下載完畢后面的內(nèi)容不會(huì)出來,所以盡量避免把JS放到頁面頭部,按照經(jīng)驗(yàn)估計(jì),整個(gè)頁面中所用的JS邏輯,90%都是可以放到頁面尾部。2.延遲加載(按需加載)

      很多的業(yè)務(wù)邏輯并非每次都使用也不是要立即使用,首次加載過程中僅僅加載那些必須的,只有當(dāng)必要的條件觸發(fā),才去加載請(qǐng)求必要的JS.比如說權(quán)限驗(yàn)證通過,加載管理模塊。點(diǎn)擊發(fā)表文章按鈕,加載與發(fā)表文章有關(guān)的驗(yàn)證和處理函數(shù)。

      如果寫過C++的肯定會(huì)接觸過動(dòng)態(tài)庫和靜態(tài)庫,這個(gè)與之類似,什么時(shí)候需要什么時(shí)候再加載,首次打開頁面肯定會(huì)清凈了許多,而且業(yè)務(wù)邏輯也由此分離開來,管理和維護(hù)也會(huì)方便很多,畢竟減少了那么多的耦合。

      按照BBS項(xiàng)目經(jīng)驗(yàn)估計(jì),普通頁面的所有業(yè)務(wù)邏輯中需要在首次請(qǐng)求中加載的不到50%,我們的JS又由此砍掉了一半。3.合并JS,減少請(qǐng)求

      請(qǐng)求多個(gè)小文件的效率遠(yuǎn)小于請(qǐng)求一個(gè)大文件的效率,因?yàn)樾枰啻蜠NS解析,多次連接,瀏覽器和server端也需要進(jìn)行多次開啟進(jìn)程、權(quán)限驗(yàn)證和預(yù)處理,以及 http請(qǐng)求在數(shù)據(jù)包傳遞上的一些問題。

      所以盡量避免在頁面中加載一堆的js 文件,需要先講需要的小的JS合并成一個(gè)大的JS文件統(tǒng)一輸出,頁面因此被卡住的時(shí)間肯定會(huì)減少很多。

      為了提高開發(fā)效率,合并建議不要每次都手動(dòng)來進(jìn)行,導(dǎo)致之后維護(hù)成本很大,相信些個(gè)XML配置文件,確定合并規(guī)則以及依賴關(guān)系后,用程序自動(dòng)合并效率會(huì)高很多,后面有我附上的一個(gè)配置示例,僅作參考形式不重要

      4.JS壓縮 此手段屬前端特有,畢竟流量意味著速度,意味著金錢。是在降低代碼的可讀性為前提。但事物的兩面性告訴我們,可讀性差也意味著安全,而且可讀性可以通過保存壓縮前的源文件來解決。

      所謂的壓縮,就是把場(chǎng)的變量名換成短的變量名,去掉沒用的空格和換行符,從而節(jié)省我們JS程序的長度,不過目前這種處理已經(jīng)很成熟,通過搜索可以搜出很多相關(guān)的工具。不再細(xì)說

      經(jīng)驗(yàn)值,能壓縮50%以上,視程序與壓縮工具而論。

      5.盡量少用第三方庫

      在我的印象中,很多框架都是很龐大20K以上,雖然很強(qiáng)大很方便,但如果不是做企業(yè)級(jí)應(yīng)用,不要用,因?yàn)槲覀円苍S只可能用到其中很少的一部分功能卻加載了整個(gè)框架。

      不過框架中的很多方法是可以提取出來滴,或者精簡成一個(gè)輕量級(jí)的框架,比如說trimPath,完全可以精簡到4k.6.合并ajax請(qǐng)求

      Ajax請(qǐng)求的數(shù)據(jù),如果涉及請(qǐng)求多種數(shù)據(jù),盡量考慮到將其合并。

      7.合理的使用緩存

      緩存視乎是server端的事,但是js中也是經(jīng)常用的。

      一種是緩存在一個(gè)全局變量中,一些很復(fù)雜的計(jì)算和查找操作可以這樣做。如果大家在使用模板類trimPath經(jīng)常是需要對(duì)模板進(jìn)行預(yù)處理,這種預(yù)處理的結(jié)果是可以被緩存的。這種緩存的缺點(diǎn)是頁面刷新后數(shù)據(jù)就會(huì)失效。

      另外一種是緩存在window.name或cookie里面,經(jīng)常用來緩存一些AJAX調(diào)用的結(jié)果,避免反復(fù)請(qǐng)求server端,比如一些用戶的權(quán)限驗(yàn)證信息,就沒必要總是調(diào)用server端接口,緩存了也就減少了請(qǐng)求,提高了性能,但cookie大家要慎用,存于一些數(shù)據(jù)比較小的還行,每次http請(qǐng)求他是占用上行帶寬的。

      還有一種緩存的實(shí)現(xiàn)是借助于flash或其他的第三方組件,特點(diǎn)是可以緩存超大的數(shù)據(jù),但是適應(yīng)場(chǎng)景優(yōu)先,需要特殊的平臺(tái)支持,不過FLASH目前已經(jīng)很通用了。

      8.能靜態(tài)化輸出,盡量少用JS渲染輸出

      頁面制作

      1.素材合并

      盡量把頁面中的圖片合并在一起,利用css sprite切割。這樣減少了請(qǐng)求的次數(shù)。通常合并成3長大的圖片,一張是有固定寬高的(比如說按鈕),另外兩張是分別橫向或縱向平鋪的1像素的小圖,用來做背景用。2.CSS壓縮處理

      道理同JS壓縮,也是有很多工具實(shí)用的可用。

      3.圖片背景切割與平鋪

      切圖是很有講究的,很多區(qū)域能切成用1像素平鋪,盡量用1像素小圖平鋪,盡量用一個(gè)較大的圖片設(shè)置成背靜。4.少用iframe和frameset 首先一點(diǎn)frame會(huì)阻塞頁面,第二,產(chǎn)生額外的請(qǐng)求,第三,如果涉及交互,增加開發(fā)維護(hù)成本,第四對(duì)搜索引擎優(yōu)化不好 5.CSS盡量放到頁面頭部

      瀏覽器只有等CSS下載完畢后,才會(huì)真正的顯示頁面,所以為了讓頁面盡快有所輸出,把CSS放到頭部,而且瀏覽器對(duì)CSS的處理時(shí)并行的,不會(huì)像JS那樣會(huì)阻塞頁面。

      Server處理

      1.啟用gzip壓縮,約能壓縮70%~80% 2.js,css,圖片添加過期頭,讓瀏覽器能緩存。能減少1/3以上的請(qǐng)求。3.靜態(tài)頁面、js、css等靜態(tài)文件單獨(dú)遷移

      第一,可以針對(duì)靜態(tài)文件做專門優(yōu)化,比如說squid反向代理,nginx代替apache做靜態(tài)server。

      第二,便于管理和維護(hù),以后遷移和拓展方便。

      4.js、css、圖片等靜態(tài)文件與當(dāng)前應(yīng)用放到不同的域名下。

      不再傳遞那些無必要的cookie,減少傳輸。

      5.圖片服務(wù)器分多域名。

      瀏覽器對(duì)同一域名的只允許使用2個(gè)并發(fā),如果頁面圖片過多,會(huì)由于并發(fā)排隊(duì)從而阻塞頁面。但域名也不能太多,會(huì)消耗DNS解析的時(shí)間,建議4個(gè)為佳。

      附加

      1.JS合并配置文件示例

      2.常見分析與調(diào)試工具

      IE Httpwatch Firefox firebug

      本文地址 http://user.qzone.qq.com/165162897/blog/1248096280

      第五篇:javascript學(xué)習(xí)心得2

      JavaScript開發(fā)規(guī)范要求

      作為一名開發(fā)人員(WEB前端JavaScript開發(fā)),不規(guī)范的開發(fā)不僅使日后代碼維護(hù)變的困難,同時(shí)也不利于團(tuán)隊(duì)的合作,通常還會(huì)帶來代碼安全以及執(zhí)行效率上的問題。本人在開發(fā)工作中就曾與不按規(guī)范來開發(fā)的同事合作過,與他合作就不能用“愉快”來形容了?,F(xiàn)在本人撰寫此文的目的除了與大家分享一點(diǎn)點(diǎn)經(jīng)驗(yàn)外,更多的是希望對(duì)未來的合作伙伴能夠起到一定的借鑒作用。當(dāng)然,如果我說的有不科學(xué)的地方還希望各路前輩多多指教。下面分條目列出各種規(guī)范要求,這些要求都是針對(duì)同事編碼毛病提出來的,好些行業(yè)約定的其它規(guī)范可能不會(huì)再提及。

      1、保證代碼壓縮后不出錯(cuò)

      對(duì)于大型的JavaScript項(xiàng)目,一般會(huì)在產(chǎn)品發(fā)布時(shí)對(duì)項(xiàng)目包含的所有JavaScript文件進(jìn)行壓縮處理,比如可以利用Google Closure Compiler Service對(duì)代碼進(jìn)行壓縮,新版jQuery已改用這一工具對(duì)代碼進(jìn)行壓縮,這一般會(huì)去掉開發(fā)時(shí)寫的注釋,除去所有空格和換行,甚至可以把原來較長的變量名替換成短且無意義的變量名,這樣做的目的是加快文件的下載速度,同時(shí)也減小網(wǎng)站訪問帶來的額外數(shù)據(jù)流量,另外在代碼保護(hù)上也起到了一點(diǎn)點(diǎn)作用,至少壓縮后的代碼即使被還原還是沒那么容易一下讀懂的。要想代碼能正確通過壓縮,一般要求語句都要以分號(hào)正常結(jié)束,大括號(hào)也要嚴(yán)格結(jié)束等,具體還要看壓縮工具的要求。所以如果一開始沒有按標(biāo)準(zhǔn)來做,等壓縮出錯(cuò)后再回去找錯(cuò)誤那是浪費(fèi)時(shí)間。

      2、保證代碼能通過特定IDE的自動(dòng)格式化功能

      一般較為完善的開發(fā)工具(比如Aptana Studio)都有代碼“自動(dòng)格式”化功能,這一功能幫助實(shí)現(xiàn)統(tǒng)一換行、縮進(jìn)、空格等代碼編排,你可以設(shè)置自己喜歡的格式標(biāo)準(zhǔn),比如左大括號(hào){是否另起一行。達(dá)到這個(gè)要求的目的在于方便你的開發(fā)團(tuán)隊(duì)成員拿你代碼的一個(gè)副本用IDE自動(dòng)格式化成他喜歡或熟悉的風(fēng)格進(jìn)行閱讀。你同事需要閱讀你的代碼,可能是因?yàn)槟銓懙氖峭ㄓ梅椒?,他在其它模塊開發(fā)過程中也要使用到,閱讀你的代碼能最深入了解方法調(diào)用和實(shí)現(xiàn)的細(xì)節(jié),這是簡單API文檔不能達(dá)到的效果。

      3、使用標(biāo)準(zhǔn)的文檔注釋

      這一要求算是最基本的,這有利于在方法調(diào)用處看到方法的具體傳參提示,也可以利用配套文檔工具生成html或其它格式的開發(fā)文檔供其他團(tuán)隊(duì)成員閱讀,你可以嘗試使用jsdoc-toolkit。如果你自動(dòng)生成的API是出自一個(gè)開放平臺(tái),就像facebook.com應(yīng)用,那么你的文檔是給天下所有開發(fā)者看的。另外編寫完整注釋,也更方便團(tuán)隊(duì)成員閱讀你的代碼,通過你的參數(shù)描述,團(tuán)隊(duì)成員可以很容易知道你編寫的方法傳參與實(shí)現(xiàn)細(xì)節(jié)。當(dāng)然也方便日后代碼維護(hù),這樣即使再大的項(xiàng)目,過了很長時(shí)間后,回去改點(diǎn)東西也就不至于自己都忘記了當(dāng)時(shí)自己寫的代碼是怎么一回事了。

      4、使用規(guī)范有意義的變量名

      使用規(guī)范有意義的變量名可以提高代碼的可讀性,作為大項(xiàng)目開發(fā)成員,自己寫的代碼不僅僅要讓別人容易看懂。開發(fā)大項(xiàng)目,其實(shí)每個(gè)人寫的代碼量可能都比較大,規(guī)范命名,日后自己看回自己的代碼也顯的清晰易懂,比如日后系統(tǒng)升級(jí)或新增功能,修改起代碼來也輕松多了。如果到頭發(fā)現(xiàn)自己當(dāng)初寫的代碼現(xiàn)在看不太懂了,那還真是天大的笑話了。

      當(dāng)然,使用有意義的變量名也盡量使用標(biāo)準(zhǔn)的命名,比如像這里:var me = this也許沒有var self = this好,因?yàn)閟elf是Python中的關(guān)鍵字,在Python中self就是通常語言this的用法。再看下面一個(gè)例子,加s顯然比沒有加來的科學(xué)些,這樣可以知道這個(gè)變量名存的是復(fù)數(shù),可能是數(shù)組等:

      var li = document.getElementsByTagName('li')var lis = document.getElementsByTagName('li')

      5、不使用生偏語法

      JavaScript作為一門動(dòng)態(tài)腳本語言,靈活性既是優(yōu)點(diǎn)也是缺點(diǎn),眾所周知,動(dòng)態(tài)語言不同層次開發(fā)人員對(duì)實(shí)現(xiàn)同樣一個(gè)功能寫出來的代碼在規(guī)范或語法上會(huì)存在較大的差別。不管怎么樣,規(guī)范編碼少搞怪,不把簡單問題復(fù)雜化,不違反代碼易讀性原則才是大家應(yīng)該做的。比如這語句:typeof(b)== 'string' && alert(b)應(yīng)該改為:if(typeof(b)== 'string')alert(b),像前面那種用法,利用了&&運(yùn)算符解析機(jī)制:如果檢測(cè)到&&前語句返回false就不再檢測(cè)后面語句,在代碼優(yōu)化方面也有提到把最可能出現(xiàn)的情況首先判斷,像這種寫法如果條件少還好,如果條件較多而且語句也長,那代碼可讀性就相當(dāng)差。

      又比如:+function(a){var p = a;}('a')應(yīng)該改為:(function(a){var p = a;})('a'),其實(shí)function前面的+號(hào)與包含function的()括號(hào)作用是一樣的,都是起運(yùn)算優(yōu)先作用,后者是常見且容易看明白的防止變量污染的做法,比如好些流行JavaScript框架就是采用后面這種方式。

      再說個(gè)降低代碼可讀性的例子,如:function getPostionTxt(type){return type == 2 ? “野外” :(type == 3 ? “商城” :(type == 4 ? “副本” : null));}應(yīng)該改成:function

      getPostionTxt(type){var typeData={“2”:“野外”,“3”:“商城”,“4”:“副本”};if(typeData[type])return typeData[type];else return null;}。如果type是從0開始不間斷的整數(shù),那么直接使用數(shù)組還更簡單,這種結(jié)果看起來就清晰多了,看到前面那種多層三元表達(dá)式嵌套頭不暈嗎。

      6、不在語句非賦值地方出生中文

      語句中不應(yīng)該出現(xiàn)中文我想一般人都知道,雖然這樣做不影響程序運(yùn)行,但是顯然有背行業(yè)標(biāo)準(zhǔn)要求,當(dāng)然我們也不是在使用“易語言”做開發(fā)。關(guān)于這一個(gè)問題,我本來不想把它拿出來說的,但我確實(shí)遇到有人這樣做的,也不知道是不是因?yàn)樗挠⒄Z實(shí)在太爛了,至少還可以用拼音吧,另外尋求翻譯工具幫忙也不錯(cuò)的選擇。我舉例如下,像以下寫法出現(xiàn)在教學(xué)中倒還可以理解: this.user['名字'] = '張三' 或者 this.user.名字 = '張三'

      7、明確定義函數(shù)固定數(shù)量的參數(shù)

      固定數(shù)量參數(shù)的函數(shù)內(nèi)部不使用arguments去獲取參數(shù),因?yàn)檫@樣,你定義的方法如果包含較多的腳本,就不能一眼看到這個(gè)方法接受些什么參數(shù)以及參數(shù)的個(gè)數(shù)是多少。比如像下面: var $ = function(){return document.getElementById(arguments[0]);}應(yīng)該改成:var $ = function(elemID){return document.getElementById(elemID);}

      8、不必?zé)嶂詣?dòng)態(tài)事件綁定

      雖然知道事件可以動(dòng)態(tài)綁定,比如使用addEventListener或者使用jQuery的bind方法,也知道采用動(dòng)態(tài)事件綁定可以讓XHTML更干凈,但是一般情況下我還是建議直接把事件寫在DOM節(jié)點(diǎn)上,我認(rèn)為這樣可以使代碼變得更容易維護(hù),因?yàn)檫@樣做,我們?cè)诓榭丛创a的時(shí)候就可以容易地知道什么Element綁定了什么方法,簡單說這樣更容易知道一個(gè)按鈕或鏈接點(diǎn)擊時(shí)調(diào)了什么方法腳本。

      9、降低代碼與XHTML的耦合性

      不要過于依賴DOM的一些內(nèi)容特征來調(diào)用不同的腳本代碼,而應(yīng)該定義不同功能的方法,然后在DOM上調(diào)用,這樣不管DOM是按鈕還是鏈接,方法的調(diào)用都是一樣的,比如像下面的實(shí)現(xiàn)顯然會(huì)存在問題:

      function myBtnClick(obj){ if(/確定/.test(obj.innerHTML))

      alert('OK');else if(/取消/.test(obj.innerHTML))

      alert('Cancel');else

      alert('Other');} 確定取消 上面例子其實(shí)在一個(gè)函數(shù)內(nèi)處理了兩件事情,應(yīng)該分成兩個(gè)函數(shù),像上面的寫法,如果把鏈接換成按鈕,比如改成這樣:,那么myBtnClick函數(shù)內(nèi)部的obj.innerHTML就出問題了,因?yàn)榇藭r(shí)應(yīng)該obj.value才對(duì),另外如果把按鈕名稱由中文改為英文也會(huì)出問題,所以這種做法問題太多了。

      10、一個(gè)函數(shù)應(yīng)該返回統(tǒng)一的數(shù)據(jù)類型

      因?yàn)镴avaScrip是弱類型的,在編寫函數(shù)的時(shí)候有些人對(duì)于返回類型的處理顯得比較隨便,我覺得應(yīng)該像強(qiáng)類型語言那樣返回,看看下面的兩個(gè)例子: function getUserName(userID){ if(data[userID])

      return data[userID];else

      return false;} 應(yīng)該改為:

      function getUserName(userID){ if(data[userID])

      return data[userID];else

      return “";} 這個(gè)方法如果在C#中定義,我們知道它準(zhǔn)備返回的數(shù)據(jù)類型應(yīng)該是字符串,所以如果沒有找到這個(gè)數(shù)據(jù)我們就應(yīng)該返回空的字符串,而不是返回布爾值或其它不合適的類型。這并沒有影響到函數(shù)將來的調(diào)用,因?yàn)榉祷氐目兆址谶壿嬇袛嗌峡杀徽J(rèn)作“非”,即與false一樣,除非我們使用全等于“===”或typeof進(jìn)行判斷。

      11、規(guī)范定義JSON對(duì)象,補(bǔ)全雙引號(hào)

      使用標(biāo)準(zhǔn)肯定是有好處的,那么為什么還是有人不使用標(biāo)準(zhǔn)呢?我想這可能是懶或習(xí)慣問題。也許還會(huì)有人跟我說,少寫引號(hào)可以減輕文件體積,我認(rèn)為這有道理但不是重點(diǎn)。對(duì)于服務(wù)器返回的JSON數(shù)據(jù),使用標(biāo)準(zhǔn)結(jié)構(gòu)可以利用Firefox瀏覽器的JSONView插件方便查看(像查看XML那樣樹形顯示),另外你如果使用jQuery做開發(fā),最新版本jQuery1.4+是對(duì)JSON格式有更高要求的,具體的可以自己查閱jQuery更新文檔。比如:{name:”Tom“}或{'name':'Tom'}都應(yīng)該改成{”name“:”Tom“}。

      12、不在文件中留下未來確定不再使用的代碼片段

      當(dāng)代碼調(diào)整或重構(gòu)后,之前編寫的不再使用的代碼應(yīng)該及時(shí)刪除,如果認(rèn)為這些代碼還有一定利用價(jià)值可以把它們剪切到臨時(shí)文件中。留在項(xiàng)目中不僅增加了文件體積,這對(duì)團(tuán)隊(duì)其它成員甚至自己都起到一定干擾作用,怕將來自己看回代碼都搞不懂這方法是干什么的,是否有使用過。當(dāng)然可以用文檔注釋標(biāo)簽@deprecated把這個(gè)方法標(biāo)識(shí)為不推薦的。

      13、不重復(fù)定義其他團(tuán)隊(duì)成員已經(jīng)實(shí)現(xiàn)的方法

      對(duì)于大型項(xiàng)目,一般會(huì)有部分開發(fā)成員實(shí)現(xiàn)一些通用方法,而另外一些開發(fā)成員則要去熟悉這些通用方法,然后在自己編寫模塊遇到有調(diào)用的需要就直接調(diào)用,而不是像有些開發(fā)者喜歡“單干”,根本不會(huì)閱讀這些通用方法文檔,在自己代碼中又寫了一遍實(shí)現(xiàn),這不僅產(chǎn)生多余的代碼量,當(dāng)然也是會(huì)影響團(tuán)隊(duì)開發(fā)效率的,這是沒有團(tuán)隊(duì)合作精神的表現(xiàn),是重復(fù)造輪子的悲劇。比如在通用類文件Common.js有定義function $(elemID){return document.getElementById(elemID)}那么就不應(yīng)該在Mail.js中再次出現(xiàn)這一功能函數(shù)的重復(fù)定義,對(duì)于一些復(fù)雜的方法更應(yīng)該如此。

      14、調(diào)用合適的方法

      當(dāng)有幾個(gè)方法都可以實(shí)現(xiàn)同類功能的時(shí)候,我們還是要根據(jù)場(chǎng)景選擇使用最合適的方法。下面拿jQuery框架的兩個(gè)AJAX方法來說明。如果確定服務(wù)器返回的數(shù)據(jù)是JSON應(yīng)該直接使用$.getJSON,而不是使用$.get得到數(shù)據(jù)再用eval函數(shù)轉(zhuǎn)成JSON對(duì)象。如果因?yàn)楸敬握?qǐng)求要傳輸大量的數(shù)據(jù)而不得以使用$.post也應(yīng)該采用指定返回?cái)?shù)據(jù)類型(設(shè)置dataType參數(shù))的做法。如果使用$.getJSON,在代碼中我們一眼能看出本次請(qǐng)求服務(wù)器返回的是JSON。溫馨提示:jQuery1.4后,如果服務(wù)器有設(shè)置數(shù)據(jù)輸出的ContentType,比如ASP.NET C#設(shè)置 Response.ContentType = ”application/json“,那么$.get將與$.getJSON的使用沒有什么區(qū)別。

      15、使用合適的控件存儲(chǔ)合適的數(shù)據(jù)

      曾發(fā)現(xiàn)有人利用DIV來保存JSON數(shù)據(jù),以待頁面下載后將來使用,像這樣:

      { ”name“:”Tom"}
      下載JavaScript學(xué)習(xí)總結(jié)(最終版)word格式文檔
      下載JavaScript學(xué)習(xí)總結(jié)(最終版).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        網(wǎng)頁制作Javascript經(jīng)典小技巧總結(jié)

        網(wǎng)頁制作Javascript經(jīng)典小技巧總結(jié) 每一項(xiàng)都是JS中的小技巧,但十分的實(shí)用! 1.document.write(”"); 輸出語句 2.JS中的注釋為// 3.傳統(tǒng)的HTML文檔順序是:document->html->(hea......

        JavaScript對(duì)Table操作大全

        js對(duì)Table操作大全 .btf{ height:28px; background-color:#F8F0E1; } var objTable; function PageLoad(){ objTable = document.getElementById( "dataGrid" );//......

        JavaScript簡介和特點(diǎn)(5篇)

        JavaScript語言的前身叫作Livescript。自從Sun公司推出著名的Java語言之后,Netscape公司引進(jìn)了Sun公司有關(guān)Java的程序概念,將自己原有的Livescript 重新進(jìn)行設(shè)計(jì),并改名為JavaS......

        Javascript期末考試及答案[共五篇]

        JavaScript試題 一、選擇題 1、寫“Hello World”的正確javascript語法是?( ) A. document.write("Hello World") B. "Hello World" C. response.write("Hello World") D. ("H......

        第4章 JavaScript 編程基礎(chǔ)實(shí)驗(yàn)

        第4章 JavaScript 編程基礎(chǔ) 實(shí)驗(yàn) 1 猜數(shù)字游戲 實(shí)驗(yàn)說明: 這是一個(gè)經(jīng)典的小游戲,由計(jì)算機(jī)隨機(jī)生成一個(gè) 1 到 100 的數(shù)字,然后由玩家去猜,計(jì)算機(jī)給出提示。若玩家可以 10 次以內(nèi)......

        深入理解javascript這一篇就夠了 – 麥穗技術(shù)

        深入理解JavaScript,這一篇就夠了 – 麥穗技術(shù) 前言 JavaScript 是我接觸到的第二門編程語言,第一門是 C 語言。然后才是 C++、Java 還有其它一些什么。所以我對(duì) JavaScript......

        ActionScript與JavaScript在教學(xué)中的相互調(diào)用

        ActionScript與JavaScript在教學(xué)中的相互調(diào)用 張 智 (三峽電力學(xué)院,湖北 宜昌443000) 摘要:本文重點(diǎn)討論了ActionScript與JavaScript在教學(xué)中的相互調(diào)用及控制。 關(guān)鍵詞:ActionSc......

        2017-2018學(xué)年第一學(xué)期-軟件工程-腳本開發(fā)技術(shù)(JavaScript)課程設(shè)計(jì)

        濰坊科技學(xué)院 ----------------------- 1.貫徹事件驅(qū)動(dòng)的程序設(shè)計(jì)思想,熟練使用JavaScript中的對(duì)象,實(shí)現(xiàn)網(wǎng)頁特效。 2.網(wǎng)頁設(shè)計(jì)布局合理,色彩搭配合理,網(wǎng)頁操作方便。 3.設(shè)計(jì)過......