首頁 web前端 js教程 JQuery中extend用法的詳細介紹與使用

JQuery中extend用法的詳細介紹與使用

Jul 09, 2017 pm 04:45 PM
extend jquery 使用



JQuery的extend擴充方法:
Jquery的擴充方法extend是我們在寫入外掛的過程中常用的方法,該方法有一些重載原型,在此,我們一起去了解了解。
 一、Jquery的擴展方法原型是:   

extend(dest,src1,src2,src3...);

#它的意義是將src1,src2,src3...合併到dest中,返回值為合併後的dest,由此可以看出該方法合併後,是修改了dest的結構的。如果想要得到合併的結果卻又不想修改dest的結構,可以如下使用:

varnewSrc=##$.extend({},src1 ,src2,src3...)//也就是將"{}"當作dest參數。

這樣就可以將src1,src2,src3...進行合併,然後將合併結果回傳給newSrc了。如下例:

varresult=$.extend({},{name:"##Tom ",age:21},{name:#"Jerry",sex:"Boy"})那麼合併後的結果

result

={name:"Jerry ",age:21,sex:"Boy" }也就是說後面的參數如果和前面的參數存在相同的名稱,那麼後面的會覆寫前面的參數值。

$.extend(settings, options);  

//合併settings和options,並將合併結果傳回settings中,相當於options繼承setting並將繼承結果儲存在setting中。

var settings = $.extend({}, defaults, options);
//合併defaults和options,並將合併結果傳回setting而不覆蓋default內容。


二、省略dest參數

上述的extend方法原型中的dest參數是可以省略的,如果省略了,則該方法就只能有一個src參數,而且是將該src合併到呼叫extend方法的物件中去,如:
1、$.extend(src)
該方法就是將src合併到jquery的全域對象中去,如:

$.extend({

hello:function(){alert(
'
#hello# ');}});
就是將hello方法合併到jquery的全域物件中。

2、$.fn.extend(src)
該方法將src合併到jquery的實例物件中去,如:

$.fn.extend({

hello:function(){alert(
'
hello##');} });

就是將hello方法合併到jquery的實例物件中。

下面例舉幾個常用的擴充實例:

$.extend({net:{}});


這是在jquery全域物件中擴充一個net
命名空間

$.extend($.net,{

hello:function(){alert(

'
hello' );}})
這是將hello方法擴展到先前擴充的Jquery的net命名空間中去。

三、Jquery的extend方法還有一個重載原型:

  

extend(boolean,dest,src1,src2,src3...)

 第一個參數boolean代表是否進行深度拷貝,其餘參數和前面介紹的一致,什麼叫深層拷貝,我們看一個例子:

varresult=$.extend(true, {},
{ name:
"John", location: {city:##"##Boston ",county:"USA"} },{ last:
"
Resig", location: {state:"MA",county:"China"} } ); 我們可以看出src1中嵌套子物件location:{city:"Boston"},src2中也嵌套子物件location:{state:"MA"},第一個深度拷貝參數為true,那麼合併後的結果就是: 

result

={name:"John",last:"Resig",location:{city:
"
Boston",state:##" MA",county:"#China"}}
也就是說它會將src中的巢狀子物件也進行合併,而如果第一個參數boolean為false,我們看看合併的結果是什麼,如下:

varresult

=$.extend(false, {},{ name: "
John", location:{city:"##Boston" ,county:"USA"} },{ last: "
Resig
", location: {state:"MA",county:"China"} });那麼合併後的結果就是:

result={name:"##John" ,last:"Resig"#,location:{state:##"##MA ",county:"China"##}}








##########################################################################110 ####$.extend({###   min: function(a, b){return a < b?a:b; },###   max: function(a, b){return a > b ?a:b; } ###});   //為jquery擴展了min,max兩個方法###使用擴展的方法(透過「$.方法名稱」呼叫):###alert("a= 10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));############### ###以上就是$.extend()在專案中常會使用到的一些細節。 ######posted @ 2010-11-24 21:13 xiaoxiaohui 閱讀​​(48) 評論(0) 編輯######HTTP請求標頭資訊###

HTTP請求頭概述 (HttpServletRequest) HTTP客戶程式(例如瀏覽器),向伺服器發送請求的時候必須指明請求類型(一般是GET或POST或HEAD)。
  如有必要,客戶程式也可以選擇發送其他的請求頭。大多數請求頭並不是必需的,但Content-Length除外。對於POST請求來說Content-Length必須出現。 以下是一些最常見的請HTTP請求頭概述 (HttpServletRequest)
  HTTP客戶程式(例如瀏覽器),向伺服器發送請求的時候必須指明請求類型(一般是GET或 POST)。如有必要,客戶程式也可以選擇發送其他的請求頭。大多數請求頭並不是必需的,但Content-Length除外。對於POST請求來說 Content-Length必須出現。
  以下是一些最常見的請求頭
  Accept:瀏覽器可接受的MIME類型。
  Accept-Charset:瀏覽器可接受的字元集。
  Accept-Encoding:瀏覽器能夠進行解碼的資料編碼方式,例如gzip。 Servlet能夠向支援gzip的瀏覽器傳回經gzip編碼的HTML頁面。許多情況下這可以減少5到10倍的下載時間。
  Accept-Language:瀏覽器所希望的語言種類,當伺服器能夠提供一種以上的語言版本時要用到。
  Authorization:授權訊息,通常出現在對伺服器發送的WWW-Authenticate頭的應答中。
  Connection:表示是否需要持久連線。如果Servlet看到這裡的值為“Keep- Alive”,或看到請求使用的是HTTP 1.1(HTTP 1.1預設進行持久連接),它可以利用持久連接的優點,當頁麵包含多個元素時(例如Applet,圖片),顯著減少下載所需的時間。要實現這一點,Servlet需要在應答中發送一個Content-Length頭,最簡單的實作方法是:先把內容寫入 ByteArrayOutputStream,然後在正式寫出內容之前計算它的大小。
  Content-Length:表示請求訊息正文的長度。
  Cookie:這是最重要的請求頭資訊之一
  From:請求發送者的email位址,由一些特殊的Web客戶程式使用,瀏覽器不會用到它。
  Host:初始URL中的主機和連接埠。
  If-Modified-Since:只有當所要求的內容在指定的日期之後又經過修改才返回它,否則返回304「Not Modified」應答。
  Pragma:指定「no-cache」值表示伺服器必須傳回刷新後的文檔,即使它是代理伺服器而且已經有了頁面的本地拷貝。
  Referer:包含一個URL,使用者從該URL代表的頁面出發訪問目前請求的頁面。
  User-Agent:瀏覽器類型,如果Servlet傳回的內容與瀏覽器類型有關則該值非常有用。
  UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE瀏覽器所發送的非標準的請求頭,表示螢幕大小、顏色深度、操作系統和CPU類型。
  HTTP應答頭概述(HttpServletResponse)
  Web伺服器的HTTP應答頭概述(HttpServletResponse)
  Web伺服器的HTTP應答一般由以下幾項構成:一個狀態行,一個或多個應答頭,一個空行,內容文檔。設定HTTP應答頭往往和設定狀態行中的狀態代碼結合。例如,有好幾個表示「文件位置已經改變」的狀態代碼都伴隨著一個Location頭,而401(Unauthorized)狀態代碼則必須伴隨一個WWW-Authenticate頭。
  然而,即使在沒有設定特殊意義的狀態代碼時,指定應答頭也是很有用的。應答頭可以用來完成:設定Cookie,指定修改日期,指示瀏覽器按照指定的間隔刷新頁面,聲明文件的長度以便利用持久HTTP連接,…等等許多其他任務。
  設定應答頭最常用的方法是HttpServletResponse的setHeader,此方法有兩個參數,分別表示應答頭的名字和值。和設定狀態代碼相似,設定應答頭應該在發送任何文件內容之前進行。
  setDateHeader方法和setIntHeadr方法專門用來設定包含日期和整數值的應答頭,前者避免了把Java時間轉換為GMT時間字串的麻煩,後者則避免了把整數轉換為字串的麻煩。
  HttpServletResponse也提供了許多設定
  setContentType:設定Content-Type頭。大多數Servlet都要用到這個方法。
  setContentLength:設定Content-Length頭。對於支援持久HTTP連線的瀏覽器來說,這個函數是很有用的。
  addCookie:設定一個Cookie(Servlet API中沒有setCookie方法,因為回應往往包含多個Set-Cookie頭)。
  另外,如上節介紹,sendRedirect方法設定狀態代碼302時也會設定Location頭。
  HTTP應答頭 說明###  Allow 服务器支持哪些请求方法(如GET、POST等)。
  Content-Encoding 文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept- Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。
  Content-Length 表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过 byteArrayStream.writeTo(response.getOutputStream()发送内容。
  Content-Type 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置 Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。
  Date 当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
  Expires 应该在什么时候认为文档已经过期,从而不再缓存它?
  Last-Modified 文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置。
  Location 表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。
  Refresh 表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader("Refresh", "5; URL=http://host/path")让浏览器读取指定的页面。注意这种功能通常是通过设置HTML页面HEAD区的实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的 HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。注意Refresh的意义是“N秒之后刷新本页面或访问指定页面”,而不是“每隔N秒刷新本页面或访问指定页面”。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是。注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。
  Server 服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
  Set-Cookie 设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。
  WWW-Authenticate 客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。例如,response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。

錯誤代碼解釋
  "100" : Continue
  "101" : witching Protocols
  "200" : OK
  "201" : Created
2  OK
  "201" : Created
2 "203" : Non-Authoritative Information
  "204" : No Content
  "205" : Reset Content
  "206" : Partial Content## Part  30 : Moved Permanently
  "302" : Found
  "303" : See Other
  "304" : Not Modified
"30 "305" : Use Pron Pro#irxy#irxy#irxy#irxy#irxy#irl# HTTP 400 - 請求無效
  HTTP 401.1 - 未授權:登入失敗
  HTTP 401.2 - 未授權:伺服器設定問題導致登入失敗
  HTTP 401.3 - ACL 禁止存取資源##11  HTTP 401。授權被篩選器拒絕
  HTTP 401.5 - 未授權:ISAPI 或CGI 授權失敗
  HTTP 403 - 禁止存取
#  HTTP 403 - 對Internet 服務管理員(HTML) 的存取僅限於#HTTP 403.1 禁止存取:禁止可執行存取
  HTTP 403.2 - 禁止存取:禁止讀取存取
  HTTP 403.3 - 禁止存取:禁止寫入存取
  HTTPTP 403.4 - 禁止存取:禁止寫入存取
  HTHTTP 403.4 - 禁止存取:要求Sv1 禁止存取。存取:要求SSL 128
  HTTP 403.6 - 禁止存取:IP 位址被拒絕
  HTTP 403.7 - 禁止存取:要求客戶憑證
  HTTP 403.8 - 禁止存取:禁止存取:要求客戶憑證
  HTTP 403.8 - 禁止存取:禁止存取:禁止存取。 :連線的使用者過多
  HTTP 403.10 - 禁止存取:設定無效
  HTTP 403.11 - 禁止存取:密碼變更
  HTTP 403.12 - 禁止存取:映射器拒絕存取
  HTTP 403.12 - 禁止存取:映射器拒絕存取
  HTTP 403.12 - 禁止存取:映射器拒絕存取
 3 HTTP客戶憑證已被撤銷
  HTTP 403.15 - 禁止存取:客戶存取許可過多
  HTTP 403.16 - 禁止存取:客戶憑證不可信或無效
  HTTP 403.17 - 禁止存取客戶:客戶憑證不可信或無效
  HTTP 403.17 - 禁止存取生效
  HTTP 404.1 - 無法找到Web 網站
  HTTP 404 - 無法找到檔案
  HTTP 405 - 資源被禁止
  HTTP 406 - 無法接受代理驗證 - 無法接受代理驗證#104> HTTP 410 - 永遠無法使用
  HTTP 412 - 先決條件失敗
  HTTP 414 - 請求- URI長
  HTTP 500 - 內部伺服器錯誤
 長
  HTTP 500 - 內部伺服器錯誤
 - ASP HTTP 500。 HTTP 500-11 伺服器關閉
  HTTP 500-12 應用程式重新啟動
  HTTP 500-13 - 伺服器太忙
  HTTP 500-14 - 應用程式無效
#"
  HTTP 500-14 - 應用程式無效
#"
1 請求global.asa
  Error 501 - 未實作
  HTTP 502 - 閘道錯誤

以上是JQuery中extend用法的詳細介紹與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

crystaldiskmark是什麼軟體? -crystaldiskmark如何使用?

foob​​ar2000怎麼下載? -foobar2000怎麼使用 foob​​ar2000怎麼下載? -foobar2000怎麼使用 Mar 18, 2024 am 10:58 AM

foob​​ar2000怎麼下載? -foobar2000怎麼使用

網易信箱大師怎麼用 網易信箱大師怎麼用 Mar 27, 2024 pm 05:32 PM

網易信箱大師怎麼用

百度網盤app怎麼用 百度網盤app怎麼用 Mar 27, 2024 pm 06:46 PM

百度網盤app怎麼用

教你使用 iOS 17.4「失竊裝置保護」新進階功能 教你使用 iOS 17.4「失竊裝置保護」新進階功能 Mar 10, 2024 pm 04:34 PM

教你使用 iOS 17.4「失竊裝置保護」新進階功能

BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? Apr 26, 2024 am 09:40 AM

BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包?

小黑盒cdkey如何使用 小黑盒cdkey如何使用 Mar 12, 2024 pm 07:34 PM

小黑盒cdkey如何使用

小米汽車app怎麼用 小米汽車app怎麼用 Apr 01, 2024 pm 09:19 PM

小米汽車app怎麼用

See all articles