美团社招一面

美团社招一面

做题

1、面试题

html 复制代码
<style>
.outer{
	width: 100px;
	background: red;
	height: 100px;
}

.inner {
	width: 50px;
	height: 50px;
	background: green;
}

</style>
<div class="outer">
 <div class="inner"></div>
</div>

<script>
  var outer = document.querySelector('.outer');
  var inner = document.querySelector('.inner');
  new MutationObserver(function () {
    console.log('mutate');
  }).observe(outer, {
    attributes: true,
  });

  function onClick(e) {
    console.log('click');
    setTimeout(function () {
      console.log('timeout');
    }, 0);
    Promise.resolve().then(function () {
      console.log('promise');
    });
    outer.setAttribute('data-random', Math.random());
  }

  inner.addEventListener('click', onClick);
  outer.addEventListener('click', onClick);
</script>

2、js

javascript 复制代码
function Foo() {
    getName = function () { console.log (1); };
    return this;
}
Foo.getName = function () { console.log (2);};
Foo.prototype.getName = function () { console.log (3);};
var getName = function () { console.log (4);};
function getName() { console.log (5);}

Foo.getName();//
getName();//
Foo().getName();//
getName();//
new Foo.getName();//
new Foo().getName();//
new new Foo().getName();//

3、

题目:

使用Vue3 / react 分别实现倒计时功能

10-0,到0时自动停止

设置3个按钮,开始 暂停 重置

解答:

注意:记得定时器使用的坑,以及取消页面挂载的时候移除定时器

相关推荐
Wiktok几秒前
Pyside6加载本地html文件并实现与Javascript进行通信
前端·javascript·html·pyside6
一只小风华~5 分钟前
Vue:条件渲染 (Conditional Rendering)
前端·javascript·vue.js·typescript·前端框架
柯南二号6 分钟前
【大前端】前端生成二维码
前端·二维码
程序员码歌36 分钟前
明年35岁了,如何破局?说说心里话
android·前端·后端
博客zhu虎康1 小时前
React Hooks 报错?一招解决useState问题
前端·javascript·react.js
灰海2 小时前
vue中通过heatmap.js实现热力图(多个热力点)热区展示(带鼠标移入弹窗)
前端·javascript·vue.js·heatmap·heatmapjs
王源骏2 小时前
LayaAir鼠标(手指)控制相机旋转,限制角度
前端
大虾写代码2 小时前
vue3+TS项目配置Eslint+prettier+husky语法校验
前端·vue·eslint
wordbaby3 小时前
用 useEffectEvent 做精准埋点:React analytics pageview 场景的最佳实践与原理剖析
前端·react.js
上单带刀不带妹3 小时前
在 ES6 中如何提取深度嵌套的对象中的指定属性
前端·ecmascript·es6