国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

代碼分析jQuery四種靜態(tài)方法使用

2019-11-20 12:00:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jQery每一個(gè)方法都有對(duì)應(yīng)代碼解析,非常詳細(xì),具有介紹請(qǐng)看下文:

isFunction方法

用于測(cè)試是否為函數(shù)的對(duì)象

示例:

function stub() {  }var objs = [      function () {},      { x:15, y:20 },      null,      stub,      "function"     ];    jQuery.each(objs, function (i) {    var isFunc = jQuery.isFunction(objs[i]);    $("span:eq( " + i + ")").text(isFunc); })

運(yùn)行結(jié)果:

復(fù)制代碼 代碼如下:

[ true,false,false,true,false ]

源碼分析:

 

// See test/unit/core.js for details concerning isFunction.// Since version 1.3, DOM methods and functions like alert// aren't supported. They return false on IE (#2968).isFunction: function( obj ) {   return jQuery.type(obj) === "function";},

 首先就告訴你自從1.3版本就有bug ,一些dom方法和函數(shù)例如alert在ie里面會(huì)返回false,看了下這個(gè)bug,因?yàn)閠oString方法和valueOf方法都會(huì)被重寫(xiě)所以有人就提出了用instanceof方法檢測(cè)但是在ie6還是有問(wèn)題。目前為止這個(gè)bug還沒(méi)有關(guān)閉具體大家可以從參考官網(wǎng)bug頁(yè)因?yàn)槲曳治龅氖?.7.1所以就先按照這個(gè)版本來(lái),這個(gè)方法就是簡(jiǎn)單的調(diào)用type方法判斷其返回結(jié)果是否為字符串function
 
isArray方法

用于測(cè)試是否為數(shù)組的對(duì)象

示例:

 

$("b").append( " + $.isArray([]) );//<b>true</b>isArray: Array.isArray || function( obj ) {    return jQuery.type(obj) === "array"; },

跟isFunctoin一樣直接使用type方法的返回結(jié)果

isNumeric方法

確定它的參數(shù)是否是一個(gè)數(shù)字。

$.isNumeric() 方法檢查它的參數(shù)是否代表一個(gè)數(shù)值。如果是這樣,它返回 true。否則,它返回false。該參數(shù)可以是任何類型的

示例:

$.isNumeric("-10"); // true$.isNumeric(16);   // true$.isNumeric(0xFF);  // true$.isNumeric("0xFF"); // true$.isNumeric("8e5"); // true (exponential notation string)$.isNumeric(3.1415); // true$.isNumeric(+10);  // true$.isNumeric(0144);  // true (octal integer literal)$.isNumeric("");   // false$.isNumeric({});   // false (empty object)$.isNumeric(NaN);  // false$.isNumeric(null);  // false$.isNumeric(true);  // false$.isNumeric(Infinity); // false$.isNumeric(undefined); // false

源碼分析:

復(fù)制代碼 代碼如下:

isNumeric: function( obj ) {
        return !isNaN( parseFloat(obj) ) && isFinite( obj );
},

這個(gè)方法不是判斷Number類型而是看起來(lái)像數(shù)字的類型只要傳進(jìn)去的參數(shù)包含數(shù)字那么就會(huì)返回true,首先使用parseFloat方法把參數(shù)轉(zhuǎn)為數(shù)組,此方法會(huì)保留參數(shù)中的數(shù)字部分過(guò)濾掉其他部分,如果結(jié)果不是NaN也沒(méi)有超過(guò)最大值就是true否則返回false

isWindow方法

用于測(cè)試是否為window對(duì)象

復(fù)制代碼 代碼如下:
isNumeric: function( obj ) { return !isNaN( parseFloat(obj) ) && isFinite( obj );},

一種粗略的方法判斷對(duì)象是window,如果滿足傳進(jìn)來(lái)的是對(duì)象而且具有setInterval方法則認(rèn)為該對(duì)象為window對(duì)象,現(xiàn)在這個(gè)方法已經(jīng)改為判斷是否是窗口對(duì)象了具體以后在分析。希望大家能夠喜歡以上內(nèi)容所述。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 章丘市| 南和县| 松阳县| 富民县| 宜州市| 延吉市| 翁源县| 波密县| 张掖市| 寻乌县| 邓州市| 日土县| 布尔津县| 灵石县| 杨浦区| 报价| 新乡县| 北宁市| 镶黄旗| 甘德县| 丽江市| 牙克石市| 哈巴河县| 呼和浩特市| 儋州市| 维西| 萨迦县| 肇源县| 白城市| 南陵县| 梁山县| 庐江县| 全南县| 竹北市| 宾川县| 方山县| 安吉县| 江北区| 平凉市| 石门县| 吉安市|