31
html
题目:DOM和BOM区别
答案:
1、BOM - 浏览器对象模型window
2、DOM - 文档对象模型document
注意:只有js运行在浏览器才有这2个对象,运行在nodejs是没有的
css
题目:如何让网页字体并清晰,变细
答案:
1、font-weight: lighter
2、font-family: 更细的字体
3、-webkit-font-smoothing: antialiased(针对mac ios)
js
题目:实现0、1互转
答案:
// 置换1 和 0
function test(x) {
const s = x.toString(2).split('').map(ele => {
return ele === '0' ? 1 : 0;
}).join('');
return parseInt(s, 2);
}
console.log(test(5));
32
html
题目:对html显示优先级的理解
答案:同day20。
帧元素 - 比如iframe》表单元素》非表单元素
有窗口元素 - 比如section object》没窗口元素
对于同类元素,z-index可以重置优先级
css
题目:line-height三种赋值有何区别
答案:
1、不带单位,比如1.5这种,值大小=font-size * 倍数;若有子元素,则子元素继承的是倍数
2、带单位,比如24px、1.5em、150%这种,纸大小=换算成px后的值;若有子元素,则子元素继承的是计算后的值
js
题目:造成内存泄露的操作
答案:
内存泄露:一个变量在使用完后没有释放归还给内存,最后可能导致程序崩溃
常见操作:
1、意外的全局变量
function foo() {
bar = 1;
}
foo();
非严格模式下,foo执行后,变量bar由于没有事先声明,直接变成一个全局变量;即使foo执行后,变量bar也无法释放内存》使用严格模式
2、setInternal定时器没有clear,则里面依赖的变量都不会被释放
3、循环引用,比如a引用b,b又引用a这种
4、闭包
5、过度递归,且没有尾调用优化
33
html
题目:html和html5有何区别
答案:
1、文档类型声明不同,h5更简洁
2、h5新增了许多语义化标签
3、h5扩展了一些功能,比如cancas、video这些
css
题目:画一个三角形
答案:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>画一个三角形</title>
<style>
.triangle {
border-width: 4px;
border-style: solid;
border-color: transparent transparent transparent blue;
}
</style>
</head>
<body>
<div class="triangle"></div>
</body>
</html>
js
题目:对this的理解
答案:
描述:当前运行环境上下文,大概可以分为4种
1、全局this,指向window
2、函数中this,指向函数调用对象
3、构造函数中this,指向new的对象
4、call、apply、bind,指向第一个参数传入的对象