分类分类
更新时间:2026-07-14 11:35:18作者:fang
Qery每一个方法都有对应代码解析,非常详细,具有介绍请看下文:
isFunction方法
用于测试是否为函数的对象
示例:
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);
})
运行结果:
代码如下:
[ 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方法和函数例如alert在ie里面会返回false,看了下这个bug,因为toString方法和valueOf方法都会被重写所以有人就提出了用instanceof方法检测但是在ie6还是有问题。目前为止这个bug还没有关闭具体大家可以从参考官网bug页因为我分析的是1.7.1所以就先按照这个版本来,这个方法就是简单的调用type方法判断其返回结果是否为字符串function
isArray方法
用于测试是否为数组的对象
示例:
$("b").append( " + $.isArray([]) );//<b>true</b>
isArray: Array.isArray || function( obj ) {
return jQuery.type(obj) === "array";
},
跟isFunctoin一样直接使用type方法的返回结果
isNumeric方法
确定它的参数是否是一个数字。
$.isNumeric() 方法检查它的参数是否代表一个数值。如果是这样,它返回 true。否则,它返回false。该参数可以是任何类型的
示例:
$.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
源码分析:
代码如下:
isNumeric: function( obj ) {
return !isNaN( parseFloat(obj) ) && isFinite( obj );
},
这个方法不是判断Number类型而是看起来像数字的类型只要传进去的参数包含数字那么就会返回true,首先使用parseFloat方法把参数转为数组,此方法会保留参数中的数字部分过滤掉其他部分,如果结果不是NaN也没有超过最大值就是true否则返回false
isWindow方法
用于测试是否为window对象
<div class="codetitle"><span><a style="CURSOR: pointer" data="27625" class="copybut" id="copybut27625" onclick="doCopy('code27625')"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code27625">isNumeric: function( obj ) {
return !isNaN( parseFloat(obj) ) && isFinite( obj );
},
</div>
一种粗略的方法判断对象是window,如果满足传进来的是对象而且具有setInterval方法则认为该对象为window对象,现在这个方法已经改为判断是否是窗口对象了具体以后在分析。希望大家能够喜欢以上内容所述。
相关
cueaction出杆矫正软件生活服务9.0 Mv1.0.52026-07-06
下载英语翻译酷软件实用工具4.9 Mv3.3.12026-07-06
下载yousician2024版学习办公118.33MBv4.99.02026-07-06
下载木鱼模拟器手机版生活服务24.2MBv1.1.52026-07-06
下载投屏专家官方版(改名手机投屏)实用工具33.8 Mv1.2.7安卓手机版2026-07-06
下载淘领地app网上购物54.06MBv5.5.52026-07-06
下载LED 键盘下载手机版实用工具66.4 MBv1.2.72026-07-06
下载小样哪里跑官方正版动作射击102.89 Mv2.0.52026-07-06
下载ps图片设计app学习办公40.5 Mv1.1.92026-07-06
下载岑寂风华录手机版策略游戏3.82MBv1.02026-07-06
下载健康码国际版app生活服务91.36MBv10.2.32026-07-06
下载工程文库app实用工具69.3 Mv1.2.72026-07-06
下载










