jQuery源码分析4: jQuery.makeArray和jQuery.toArray
var push = Array.prototype.push,
isWindow: function( obj ) {
return obj && typeof obj === "object" && "setInterval" in obj;
//< 判断window对象的方法
},
merge: function( first, second ) { //合并两个数组 返回第一个数组first
var i = first.length,
j = 0;
if ( typeof second.length === "number" ) {
for ( var l = second.length; j < l; j++ ) {
first[ i++ ] = second[ j ];
}
} else {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
}
}
first.length = i;
return first;
},
makeArray: function( array, results ) {
var ret = results || [];
if ( array != null ) {
// The window, strings (and functions) also have 'length'
// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
var type = jQuery.type( array );
/**
* 当array中不存在length属性或array本身是字符串,函数或window,或正则表达式时单独处理,因为
* window, strings和functions本身也有length属性,见如下测试:
* var fun = function() {};
* alert(fun.length); //alert 0
* var str = "hello world";
* alert(str.length); //alert 11
* alert(window.length); //< alert ...
*/
if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
push.call( ret, array );
} else { //< array参数是数组时使用jQuery.merge合并两数组
jQuery.merge( ret, array );
}
}
return ret;
},
var slice = Array.prototype.slice,
toArray: function() {
return slice.call( this, 0 );
},
分享到:
相关推荐
2.ToArray:将序列转换为数组 59 3.ToList:将序列转换为 泛型列表 59 4.ToDictionary:将序 列转化为字典 60 LINQ to SQL语句(19)之ADO.NET与LINQ to SQL 60 1.连接 61 2.事务 61 LINQ to SQL语句(20)之存储过程 63...
11.2.4 jQuery.makeArray(obj) 186 11.2.5 jQuery.map(array, callback) 186 11.2.6 jQuery.inArray(value, array) 187 11.2.7 jQuery.toArray() 188 11.2.8 jQuery.merge(first, second) 188 11.2.9 jQuery.unique...
NULL 博文链接:https://jiaguwen123.iteye.com/blog/1679345
arrjQuery.makeArray( obj ) arrjQuery.map( array, fn( element, index ) ) numjQuery.inArray( val, array ) arrjQuery.merge( first, second ) fnjQuery.noop fnjQuery.proxy( fn, scope ), jQuery.proxy( scope,...
jQuery 1.11.0 速查表 核心 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 each(callback) size() length selector ...
jquery.toArray()是将jQuery对象转换成数组,我们来分析下
BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...
csvIn:处理 csv 输入的 jQuery 插件免责声明:此代码不再维护,也未使用较新版本的 jQuery 进行测试。 您可能想要使用另一个 CSV 解析器,例如 。 jquery.csvIn 在 javascript 中处理 csv 数据。 在 HTML5 应用程序...
4.多线程错误 - 错误的延迟初始化和更新静态属性。 5.错误用法 - 集合转换为数组元素时发生的类型转换错误。 修复建议:使用c.toArray(new String[c.size()])。 6.不良实践 - 方法返回boolean类型返回了null。 ...
LRU缓存 Node.js中的LRU缓存实现 用法 const lru = require ( '... toArray ( 'test_key' ) . length ) ; > 2 具有maxAge的实例lru /* the node will be destroyed in 1000 ms one by one */ const cache = new lru
BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...
工具浏览器及特性检测 $.support $.browser $.browser.version $.boxModel 数组和对象操作 $.each(object, [callback]) $.extend([d],tgt,obj1,[objN]) $.grep(array, fn, [invert]) $.makeArray(obj) $.map(array, ...
LRY 快速开始 首先,只需使用以下命令克隆存储库: ...cd LRY npm install 使用SSH克隆 ...cd LRY npm install ...Array.chunks Array.tree Array.removeRange ...clean -删除覆盖率数据,Nyc缓存和已转译的文件,
高地json 流的JSON编码。 这种JSON编码器不仅对对象流进行编码,而且还对流进行递归编码。 您可以传递一个数字流,它将返回一个数字数组。... toArray ( results => { let result = results . join ( '' ) ;
qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; String data = "Hello 二维码!"; System.Drawing.Bitmap image = ...
TextBox控件重新封装(源代码网上找的),自己重新封装方便使用; 使用步骤: 1,加载dll文件;... return list.ToArray(); } 4,数据源绑定: spellSearchBoxExSS1.SpellSearchSource = GetSpellBoxSource(dt);