码迷,mamicode.com
首页 > 编程语言 > 详细

javascript笔记---貌似大叔

时间:2016-05-18 17:46:27      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

1、原型式继承和类式继承的区别

a:原型继承

var father = function(){};

father.prototype = {

add:function(){
console.log(‘a的原型方法:加法‘)
},

delete:function(){

console.log(‘a的原型方法:减法‘)

}

}

var son = new father();

smSon.add()

b:类式继承

function Super(){
    
this.colors=["red","blue"];  
console.log(this.color)

}

function Sub(){  

Super.call(this); } var cb = new Sub(); console.log(cb.colors) console.log(cb)

 

2、单例模式

function Construct(){
    // 确保只有单例
    if( Construct.unique !== undefined ){
        return Construct.unique; 
    }
    // 其他代码
    this.name = "NYF";
    this.age="24";
    Construct.unique = this;
}

var t1 = new Construct() ;
var t2 = new Construct() ;

console.log(t1===t2)

 

3、数组去重

方式一:把第一个元素先放入结果中再来遍历结果数据和原数组
Array.prorotype.unique = function(){ var result = [this[0]]; var repeat = false; for(var i=0;i<this.length; i++){ for(var j=0;j<result.length;j++){ if(result[j]==this[i]){ repeat = true; break; } } if(!repeat){ result.push(this[i]) } } } 

方式二:把相同的内容放到一个对象中作为一个对象的属性,并赋值为1(真值),当存在时就取假值!1,这个做法很聪明,想法很独特
Array.prototype.unique2 = function(){

var result = []; var json = {};
for(var i=0; i<this.length; i++){ if(!json[this[i]]){ result.push(this[i])
json[this[i]] = 1;
} 
}
}   

 

 

 

 

  

javascript笔记---貌似大叔

标签:

原文地址:http://www.cnblogs.com/MonaSong/p/5505723.html

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