JQ里的一段代码
function isArraylike( obj ) {
var length = obj.length,
type = jQuery.type( obj ); if ( jQuery.isWindow( obj ) ) {
return false;
} if ( obj.nodeType === 1 && length ) {
return true;
} return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj );
}
关于最后这个return,这里的in不知道是什么意思,我只知道for...in,in单独用是什么意思使用(||)这个符号,我想知道就算返回了,这个return是把他后面一大段都返回了,还是有选择的返回,如果有选择的返回,它的判断条件在哪里?返回一个类型为数组或者类型不是function并且这里的括号里东西该如何理解。
function isArraylike( obj ) {
var length = obj.length,
type = jQuery.type( obj ); if ( jQuery.isWindow( obj ) ) {
return false;
} if ( obj.nodeType === 1 && length ) {
return true;
} return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj );
}
关于最后这个return,这里的in不知道是什么意思,我只知道for...in,in单独用是什么意思使用(||)这个符号,我想知道就算返回了,这个return是把他后面一大段都返回了,还是有选择的返回,如果有选择的返回,它的判断条件在哪里?返回一个类型为数组或者类型不是function并且这里的括号里东西该如何理解。
解决方案 »
- javascript中的密码验证功能
- 求jqgrid 列设置为 radiobutton 的方法
- javascript 等待iframe 刷新~高手进
- javascript事件注册显示弹出菜单问题
- 关于在模式窗口下在使用window.open的问题
- help!请问应该怎么屏蔽左键?
- 小问题,懂的来帮忙。。。谢谢
- 如何用javascript实现一个下载(不是打开)连接。
- 动态改变是否显示iframe滚动条???急。。。在线等
- 文本框中输入文件名(必须是 *.GIF )如何用JAVASCRIPT判断输入的是不是以.GIF结尾的呢?请帮忙!!!(解决问题立刻给分)
- jquery show() 回调问题
- 一个div可以实现边平移边旋转吗?
return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj );
//若type==='array'直接返回true
//若type!=='array'的话,如果type!=='function'为true的话开始判断括号里的内容,否则整体返回false
//括号里的内容如果length===0为true若括号里整体为true,整体返回true
//若length===0为false,判断typeof length==='number',如果为flase,整体返回false
//如果typeof length==='number',如果为true,判断length>0,如果为false,整体返回false
//如果length>0为true,判断( length - 1 ) in obj,这话的意思就是如果是类数组的对象,
其结构肯定是{0:'aaa',1:'bbb',length:2}这样的key值为数字的,所以如果是类数组对象,判断在obj里是否能找到length-1这样的key,如果找到,整体返回true,否则整体返回false
//in就是判断一个key是否在一个obj里。比如var obj = {a:'111'},'a' in obj为true,'b' in obj为false