标签:info 一行代码 而且 观察 说明 class oar 还需 标签
jQuery.fn = jQuery.prototype = { jquery: core_version, // 49行 core_version = "2.0.3" constructor: jQuery, init: function(){}, selector: "", length: 0, // 伪数组的元素个数 toArray: function(){}, get: function(){}, pushStack: function(){}, each: function(){}, ready: function(){}, slice: function(){}, first: function(){}, last: function(){}, eq: function(){}, map: function(){}, end: function(){}, push: core_push, // 其实这个方法就是Array.prototype.push。这样可以方便压缩代码。见53行及47行 sort: [].sort, splice: [].splice }
toArray: function () { return core_slice.call(this); // [].slice.call(this) }
get: function (num) { return num == null ? // Return a ‘clean‘ array this.toArray() : // Return just the object (num < 0 ? this[this.length + num] : this[num]); }
jQuery = { 0: li, // 这里的li是node节点,请注意 1: li, 2: li, length: 3 } // 其它属性就没写了
$("li").eq(0).css("color", "red"); // 只有第一个li标签变红了,其它li标签没有变红。
jQuery = { 0: li, // 这里的li是node节点,请注意 1: li, 2: li, length: 3 }
$("li").eq(0).css("color","red").end().eq(1).css("color", "blue")
end: function () { return this.prevObject || this.constructor(null); }
slice: function () { return this.pushStack(core_slice.apply(this, arguments)); } // 这里用了apply是因为我们可以需要接受参数 // 注意下 这里也调用了pushStack方法。 $("li").slice(1, -1) .css("color", "red"); // 可以观察下这里的效果
$("li").first().css("color", "red"); // 让第一个li元素变红 $("li").eq(1).css("color", "red"); // 让第二个li元素变红
eq: function (i) { var len = this.length, j = +i + (i < 0 ? len : 0); // 对负索引的处理 return this.pushStack(j >= 0 && j < len ? [this[j]] : []); // 索引的范围[0, len-1], 否则置一个空数组 }
first: function () { return this.eq(0); }, last: function () { return this.eq(-1); }
map: function (callback) { return this.pushStack(jQuery.map(this, function (elem, i) { return callback.call(elem, i, elem); })); }
$("li").map(function(index, ele){ if (ele.className === ‘default‘){ return ele; } })
var ret = [1,2,3,4].map(function(ele, index,array){ return ele*ele; }) console.log(ret); // [2,4,9,16] 返回一个新数组,我们可以对原数组的元素进行特定的操作,回调函数返回的数值将自动成为新数组的元素
一.4-jQuery.prototype对象中的属性与方法(下)
标签:info 一行代码 而且 观察 说明 class oar 还需 标签
原文地址:https://www.cnblogs.com/re-is-good/p/12907367.html