jQuery筆記——工具函數——jQuery標誌
jQuery定義了許多工具函數,這些函數的命名空間為$,但不操作包裝集,使用者可以把它看作是頂層函數,不同之處是他們定義在$實例上,而不是定義在window實例上,類似於靜態型別函數。
通常來說,工具函數的主要任務是操作除DOM意外的JavaScript物件,或執行一些非物件相關的操作。
jQuery透過定義在$上的變數為開發人員提供一些有用的客戶訊息,透過這些標誌資訊可以方便的檢測當前瀏覽器的功能,以便用戶基於這些資訊進行決策。
這些標誌資訊包括:jQuery.browser、jQuery.boxModel和jQuery.support
一、偵測用戶代理程式
瀏覽器偵測方法:
1. 字串偵測法:根據navigator.userAgent屬性傳回值進行偵測。 but,jQuery從1.3版本就不再支援使用這種方法了,原因:使用麻煩,與jQuery的靈巧特色相違背。
2. 特徵偵測法:根據瀏覽器是否支援特定功能來決定操作方式。
非精確,最安全
這種方法足矣。
例如:
var a; if(document.getElementsByName){ //如果存在getElementsByName,则使用该方法获取a元素 a = document.getElementsByName("a"); } else if(document.getElementsByTagName){ //如果存在getElementsByTagName,则使用该方法获取a元素 a = document.getElementsByTagName("a") }
使用對象,方法或屬性時,可先偵測目前瀏覽器是否支援它。在邏輯表達式中,如果瀏覽器支持,則會傳回該對象,屬性或方法,這是JavaScript就會強制把這些物件或成員轉換為true。如果不支持,則會傳回undefined,JavaScript會自動把它轉換為false。
注意:偵測方法或函數時,不要加小括號,否則JavaScript解釋器會呼叫該方法或函數,同時如果指定函數夥房發不存在,會產生編譯錯誤。
偵測瀏覽器類型:
js:var browser = navigator.userAgent;
jQuery: browser屬性。允許檢測4個最受歡迎的瀏覽器類,如:Internet Explorer 、Mozilla、Webkit、Opera,以及每個版本資訊標誌。
中使用中符號上:
$.browser 屬性在jQuery 1.9已經被移除。 用於傳回使用者目前使用的瀏覽器的相關資訊。
與「屬性來決定瀏覽器資訊的,因此它的辨識並不一定準確。 二、偵測盒模型
jQuery.boxModel:標誌可以取得目前頁面使用的是哪一種盒模型。 true:W3C標準盒型號;false:IE瀏覽器的盒子模型
jQuery1.0 新增该静态属性;1.3中被标记已过时,请使用 jQuery.support.boxModel替代;1.8中被移除。 除IE浏览器外,其他浏览器都支持W3C标准盒模型,而IE浏览器能够根据页面模式(严格模式或怪异模式)有选择的使用不同类型的盒模型。如果页面顶部声明了文档类型(DOCTYPE),则IE也会采用严格模式,即W3C标准盒模型解析元素。如果文档当中没有包含文档类型(DOCTYPE),或者包含了无法识别的文档类型声明,即会以怪异模式显示,并按IE的传统的盒模型来解析元素。 IE传统的盒模型和W3C标准盒模型的区别: 1.IE传统盒模型:width和height属性包含内边距和边框宽度 2.W3C标准盒模型:width和height属性不包含内边距和边框宽度 用JavaScript检测盒模型: 三、检测功能或缺陷 jQuery的support属性: 返回一个Object对象,在该对象中包含了一组属性,他们代表了不同的浏览器功能或缺陷的存在的合集。 该对象的属性并不是一成不变的,jQuery也并不保证指定的属性在未来的版本中一定可用,这些属性主要供插件或内核开发人员使用。 以上是jQuery筆記——工具函數——jQuery標誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>检测盒模型[JavaScript]</title>
<script src="js/jquery2.1.3.min.js"></script>
<script type="text/javascript">
function isBoxModel(){
var p = document.createElement("p");
p.style.width = p.style.paddingLeft = "1px";
document.body.appendChild(p);
var width = p.offsetWidth;
p.style.display = "none";
document.body.removeChild(p);
return width === 2;
}
window.onload = function(){
alert(isBoxModel() && "支持W3C标准盒模型" || "支持IE的怪异解析模式");
}
</script>
</head>
<body>
</body>
</html>

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

Go語言提供了兩種動態函數創建技術:closures和反射。 closures允許存取閉包作用域內的變量,而反射可使用FuncOf函數建立新函數。這些技術在自訂HTTP路由器、實現高度可自訂的系統和建置可插拔的元件方面非常有用。

在C++函數命名中,考慮參數順序至關重要,可提高可讀性、減少錯誤並促進重構。常見的參數順序約定包括:動作-物件、物件-動作、語意意義和遵循標準函式庫。最佳順序取決於函數目的、參數類型、潛在混淆和語言慣例。

1. SUM函數,用於對一列或一組單元格中的數字進行求和,例如:=SUM(A1:J10)。 2、AVERAGE函數,用於計算一列或一組儲存格中的數字的平均值,例如:=AVERAGE(A1:A10)。 3.COUNT函數,用於計算一列或一組單元格中的數字或文字的數量,例如:=COUNT(A1:A10)4、IF函數,用於根據指定的條件進行邏輯判斷,並返回相應的結果。

C++函數中預設參數的優點包括簡化呼叫、增強可讀性、避免錯誤。缺點是限制靈活性、命名限制。可變參數的優點包括無限彈性、動態綁定。缺點包括複雜性更高、隱式型別轉換、除錯困難。

C++中的函數傳回參考類型的好處包括:效能提升:引用傳遞避免了物件複製,從而節省了記憶體和時間。直接修改:呼叫方可以直接修改傳回的參考對象,而無需重新賦值。程式碼簡潔:引用傳遞簡化了程式碼,無需額外的賦值操作。

自訂PHP函數與預定義函數的差異在於:作用域:自訂函數僅限於其定義範圍,而預定義函數可在整個腳本中存取。定義方式:自訂函數使用function關鍵字定義,而預先定義函數則由PHP核心定義。參數傳遞:自訂函數接收參數,而預先定義函數可能不需要參數。擴充性:自訂函數可以根據需要創建,而預定義函數是內建的且無法修改。

C++中的異常處理可透過自訂異常類別增強,提供特定錯誤訊息、上下文資訊以及根據錯誤類型執行自訂操作。定義繼承自std::exception的異常類,提供特定的錯誤訊息。使用throw關鍵字拋出自訂異常。在try-catch區塊中使用dynamic_cast將捕獲到的異常轉換為自訂異常類型。在實戰案例中,open_file函數會拋出FileNotFoundException異常,捕捉並處理該異常可提供更具體的錯誤訊息。
