01-23
理论
- 对象类型与原始值类型的不同之处?
- typeof能否正常判断类型?有何局限
- == 与 === 区别
- 模块化有什么优点?有哪几种方案
- 什么是Promise的链
- Promise 构造函数执行和 then 函数执行有什么区别
- 通过 new 的方式创建对象和通过字面量创建有什么区别
js
// new Object()
// {}
// new Object()
// {}
- 为什么0.1+0.2!==0.3?
- 什么是执行栈?
- 为什么js是单线程的?单线程优缺点是什么?
事件
- 事件触发的过程是怎样的
- 下面输出是什么
html
<div id="div1">
<div id="div2">
<div id="div3">
</div>
</div>
</div>
<script>
const div1 = document.getElementById('div1')
const div2 = document.getElementById('div2')
const div3 = document.getElementById('div3')
div1.addEventListener('click', function () {
console.log(1);
})
div1.addEventListener('click', function () {
console.log(3);
}, false)
div1.addEventListener('click', function () {
console.log(2);
}, true)
div2.addEventListener('click', function () {
console.log(4);
})
div2.addEventListener('click', function () {
console.log(6);
}, false)
div2.addEventListener('click', function () {
console.log(5);
}, true)
div3.addEventListener('click', function () {
console.log(7);
})
div3.addEventListener('click', function () {
console.log(9);
}, false)
div3.addEventListener('click', function () {
console.log(8);
}, true)
div1.dispatchEvent(new Event('click'))
div2.dispatchEvent(new Event('click'))
div3.dispatchEvent(new Event('click'))
</script>
<div id="div1">
<div id="div2">
<div id="div3">
</div>
</div>
</div>
<script>
const div1 = document.getElementById('div1')
const div2 = document.getElementById('div2')
const div3 = document.getElementById('div3')
div1.addEventListener('click', function () {
console.log(1);
})
div1.addEventListener('click', function () {
console.log(3);
}, false)
div1.addEventListener('click', function () {
console.log(2);
}, true)
div2.addEventListener('click', function () {
console.log(4);
})
div2.addEventListener('click', function () {
console.log(6);
}, false)
div2.addEventListener('click', function () {
console.log(5);
}, true)
div3.addEventListener('click', function () {
console.log(7);
})
div3.addEventListener('click', function () {
console.log(9);
}, false)
div3.addEventListener('click', function () {
console.log(8);
}, true)
div1.dispatchEvent(new Event('click'))
div2.dispatchEvent(new Event('click'))
div3.dispatchEvent(new Event('click'))
</script>