码迷,mamicode.com
首页 > 其他好文 > 详细

基于内置类的原型扩展方法

时间:2016-07-20 01:07:42      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基于内置类的原型扩展方法</title>
</head>
<body>
<script type="text/javascript">
var ary = [12, 23, 34, 12, 23, 34, 12, 23, 34, 12, 23, 34, 12, 23, 34];//->Array ->Object

//->内置方法的链式写法:执行完成上一个方法,返回的结果依然是当前类的实例,这样就可以继续执行下一个方法了
// ary.sort(function (a, b) {
// return a - b;
// }).reverse().pop().push(100);
// console.log(ary);


//->给方法起名字的时候加一个自己的前缀myXxx,防止把内置的方法覆盖掉
Array.prototype.myDistinct = function myDistinct() {
//this->ary:我们要去重的那个数组
var obj = {};
for (var i = 0; i < this.length; i++) {
var cur = this[i];
if (obj[cur] == cur) {
this[i] = this[this.length - 1];
this.length--;
i--;
continue;
}
obj[cur] = cur;
}
obj = null;
return this;//->实现链式写法
};

ary.myDistinct().push(100);
console.log(ary);

 

</script>
</body>
</html>

基于内置类的原型扩展方法

标签:

原文地址:http://www.cnblogs.com/kpengfang/p/5686746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!