代码改变世界
2009-02-18 11:47
贪婪的小猪
阅读(273)
评论()
编辑
收藏
举报
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
function jquery(o)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
if(this === window)return new jquery(o);
this.length = 0;
Array.prototype.push.apply(this, o);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
jquery.prototype.each = function(fn)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
var i,a = this;
for(i = 0; i < a.length; i++)
fn.apply(a[i], [a[i], a]);
};
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var a = jquery([433,44,366]);
a.each(function()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{alert(this)
});
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Function.prototype.bind = function(o)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
var _f = this, a = [];
Array.prototype.push.apply(a, arguments);
a.shift();
return function()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
var b = [];
Array.prototype.push.apply(b, arguments);;
_f.apply(o || _f, a.concat(b));
};
};
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
function kk()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
var a = [];
Array.prototype.push.apply(a, arguments)
alert(a.join("\n"));
// 这里可以体现多态
this.each(function()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
alert(this + 10);
});
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var test1 = kk.bind(a, 44,88);
test1(66);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)