前端2020年热门面试题精选

it2025-03-05  31

前端2020年热门面试题精选

数组去重(手写)

1,根据对象属性的不重复去重
function unique(a){ var arr = [] var obj = {} for(let i = 0;i<a.length;i++){ //判断对象中是否有这个属性 if(!obj[a[i]]){ obj[a[i]] = 'asd' // arr[arr.length] = a[i] arr.push(a[i]) } } return arr } var oldArr = [1,3,5,2,51,4,6,2,1,4,5,23,3] console.log(unique(oldArr));

js的new做了哪些事情

​ 1,在内存中创建一个新的对象

​ 2,让this指向这个新的对象

​ 3,执行构造函数中的代码

​ 4,return

数组常用方法

push():在数组的最后添加一个或多个元素,原数组改变

,pop():删除最后一个元素,若数组为空 则返回undefined 原数组改变

,shift():删除第一项,并返回被删除的元素 若数组为空 返回undefined 改变原数组

,unshift():在数组的开头添加一个或多个元素 并返回数组长度 原数组改变,

splice():,sort(),reverse(),mop()

string常用方法:

方法说明concat(str1,str2…)连接一个或多个字符串 返回一个新的字符串substr(start,length)从start位置开始(start为索引) 区 length个字符slice(start,end)从start开始 到end结束 取不到end(两个都是索引)接受负值substring(start,end)从start开始 到end结束 取不到end(两个都是索引) 不接受负值split()**切割字符串 ** 注意,切割完毕之后,返回的是一个新数组

清除浮动

1, 在父级元素 后添加一个空div

2,.clearfix

3,给父级添加over-flow:hidden

p标签的作用:

让一段文字具有段落的语义

闭包有什么用

什么是闭包?

​ 闭包是指有权访问另一个函数作用域中的变量的函数

​ 闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。

为什么要用?

​ 1,匿名自执行函数:有的函数只需执行一次,内部的变量不需维护 ,可以用闭包

​ 2,结果缓存:闭包不会释放外部的引用,从而函数内部的值可以保留

​ 3,封装:实现类和继承的封装

mouseover和mouseenter的区别

mouseover:当鼠标移入一个元素或其他子元素都会触发的事件,所以有一个重复触发,冒泡的过程,对应的移除事件是mouseout

mouseenter:当鼠标移出元素本身(不包含子元素)触发的事件,也就是不会冒泡,对应的移除事件是mouseleave

如何判断一个数组和类数组 1.instanceof console.log(arr instanceof Array) 2,constructor console.log(arr.constructor) 3,isArray()

call和apply的区别 每个函数都包含两个非继承而来的方法:apply()和call()。; call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性; call():第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。在使用 call()方法时,传递给函数的参数必须逐个列举出来。 apply():传递给函数的是参数数组

阐述一下CSS Sprites及其优点 优点:1,减少对服务器的请求,从而大大提升页面性能 2减少图片的字节(图片大小)

什么是闭包,如何使用它,为什么要使用它?

最新回复(0)