美團社招一面
做題
1、面試題
<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
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個按鈕,開始 暫停 重置
解答:
注意:記得定時器使用的坑,以及取消頁面掛載的時候移除定時器