数组去重方法
第一种: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()
![](https://img.haomeiwen.com/i22929956/2831d4367dbcfac3.png)
第二种方法:set去重
array = [1,5,2,3,4,2,3,1,3,4]
function fn(){
let newArray = new Set(array)console.log(newArray)
}fn()
![](https://img.haomeiwen.com/i22929956/c40667b5f4dc2e78.png)
事件委托
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= namethis.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
网友评论