高阶前端面试题

第一题

setTimeout(() => {  console.log(1)});new Promise(resolve => {  resolve()  console.log(2)}).then(() => {  console.log(3)  Promise.resolve().then(() => {    console.log(4)  }).then(() => {    Promise.resolve().then(() => {      console.log(5)    })  })})

第二题

var obj = {  '2': 3,  '3': 4,  'length': 2,  'splice': Array.prototype.splice,  'push': Array.prototype.push}obj.push(1)obj.push(2)console.log(obj)

第三题

var arr = [[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10]

编写一个程序将数组扁平化去除其中重复部分数据,最后得到一个升序且不重复的数组

第四题

改造下面的代码,使之输出0-9,写出你能想到的所有方法

for (var i = 0; i < 10; i++) {  setTimeout(() => {    console.log(i)  }, 1000);}

第五题

var a = 10;(function () {  console.log(a);  a = 5;  console.log(window.a);  var a = 20;  console.log(a)})()

第六题

var a = {},b='123',c=123;a[b]='b';a[c]='c';console.log(a[b])
var a = {},b=Symbol('123'),c=Symbol('123');a[b]='b';a[c]='c';console.log(a[b])
var a = {},b={key: '123'},c={key: '456'};a[b]='b';a[c]='c';console.log(a[b])

第七题

function changeObjProperty (o) {  o.siteUrl='www.baidu.com';  o = new Object();  o.siteUrl='www.google.com'}let webSite = new Object();changeObjProperty(webSite);console.log(webSite.siteUrl)

第八题

实现如下继承函数,传入A和B两个类,要求A要继承于B

function inherit (A, B) {
}

第九题

实现一个动画函数,实现A元素围绕B元素匀速旋转动画?无需考虑透明度的变化。

function animation(el, start, end, during) {
}

第十题

实现一个简易的前端模板引擎

function tpl(template, data) {
}// 使用tpl('<div class="{%className%}">{%name%}</div>', {name: 123, className: 'hd'})// <div class="hd">123</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值