2018拼多多学霸批前端笔试题记录

本文精选了前端领域的经典面试题目,包括JavaScript基础知识、数组操作、排序算法稳定性、对象拷贝等核心概念的理解与实践,同时涵盖了CSS动画实现及DOM操作等前端开发中常见的技术点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择提基本上都是牛客里面刷过的

1、arr =[0,1,2] arr[10] = 10,

arr.filter(function(val){ return val === 'undefined' })

2、
(function(x){
    return(function(y){
        console.log(x)
    })(2)
})(1)
复制代码

多选题就记住一道:

1、排序算法的稳定性

简答题

1、如何将数组

obj=[{id:1,parent:null,child:2},{id:12,parent:1,child:3},{id:13,parent:2,child:null}] 采用递归转化成

let obj2 = {obj:{
    id:1,
    parent:null,
    child:{
        id:2,
        parent:1,
        child:{
            id:3,
            parent:2,
            child:null
        }
    }
}}
复制代码
2、当代码var a = new A('twsta')执行时会发生什么?
3、使用typeof bar === 'object'来判断bar是不是对象有什么问题,应该怎样处理?
4、CSS实现动画的方式有哪些?
  • 过度动画(transition):
    transition:all 0 ease 0;
    transition-property:规定设置过渡效果的 CSS 属性的名称。
    transition-duration:规定完成过渡效果需要多少秒或毫秒。
    transition-timing-function:规定速度效果的速度曲线。
    transition-delay:定义过渡效果何时开始。
    eg:
    div {
        width:100px;
        transition: width 2s;
        -moz-transition: width 2s; /* Firefox 4 */
        -webkit-transition: width 2s; /* Safari 和 Chrome */
        -o-transition: width 2s; /* Opera */
    }
复制代码
  • animation
复制代码
5、找出数组中的重复元素并输出
   //输出数组中的重复元素
       function findRepeat(arr){
           if(arr.length <= 1){
               return arr
           }
           let copyArr = []
           let obj = {}
           let repeatArr = []
           //错在这一步上,重复的属性只能看作一个,怎么会区别对待呢,傻子
           // for(let i = 0;i<arr.length;i++){
           //     obj[arr[i]] = 0
           // }
           arr.forEach(function(val,index){
               if(!obj[val]){
                   copyArr.push(val)
                   obj[val] = 1
               }else{
                   obj[val] = obj[val] + 1
               }
           })
           Object.keys(obj).forEach(function (val,index){
               if(obj[val] > 1){
                   repeatArr.push(parseInt(val))
               }
           })
           return repeatArr
       },
复制代码
6、display:none和visibility:hidden的区别
7、深拷贝与浅拷贝各是什么?如何实现一个深拷贝?
8、如何合并两个数组?
9、编写一个输出日志的函数,并在并在输入内容前加(app)前缀,

eg:log("hello World) => (app)Hello World log("hello,World) => (app)Hello World

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值