数组去重、事件委托、 JS 继承

2021-02-06  本文已影响0人  卢卢2020

数组去重方法

第一种:filter去重

array = [1,5,2,3,4,2,3,1,3,4]

function  fn(){
    let newArray= array.filter((item,index)=>{
        return array.indexOf(item) === index
     })

    console.log(newArray)
}

fn()

第二种方法:set去重

array = [1,5,2,3,4,2,3,1,3,4] 

function fn(){
   let newArray = new Set(array)

    console.log(newArray)
}

fn()

事件委托

1 什么是事件委托?

事件委托就是我委托一个人 帮我干本来我干的事情 

比如:我有一百个button按钮 我监听button按钮 需要监听100次,那么这个时候我们就用到事件委托 来监听它的父元素,给它的父元素添加点击事件,然后用e.target来监听用户点击的元素获得点击的button按钮(监听父元素有两个好处,可以省内存,还可以监听暂时不存在的元素)

案例链接点这里

2 怎么阻止默认动作?

阻止默认动作:e.stopPreventDefault()

3 怎么阻止事件冒泡?

阻止事件冒泡:e.stopPropagetion()

你如何理解 JS 的继承?

答:①类的继承

class Person{
    constructor(name,age){
        this.name = name
        this.age = age
    }

    sayHi(){
        console.log(`你好,我叫+${this.name}`)  //公共方法
    }
}

let preson = new Person('frank',18)

let preson2 = new Person2('lulu',48)

答:② 原型继承

核心:将父类实例作为子类的原型(并不是把父类中的属性和方法克隆一份一模一样的给子类,面是让子类父类之间增加了原型链接)

特点:父类中私有和仅有的都继承了子类原型上(子类公有的)

function Person(name,age){
    this.name= name

    this.age = age
}

Person.prototype.sayHi = function(){
    console.log('你好,我叫'+this.name)
}

let person = new Person('frank',18)

person.sayHi() //你好,我叫frank

let person2 = new Person2('lulu',28)

person2.sayHi() //你好,我叫lulu   

上一篇 下一篇

猜你喜欢

热点阅读