50
html
题目:ajax和flash有何优缺点
答案:
1、ajax
优点:页面不用整个刷新,可以异步请求数据,刷新部分页面数据,提升用户体验
缺点:用户无法回退到前一个页面状态;会带来一些安全问题,跨站脚本攻击、sql注入攻击等;
css
题目:css优化、提高性能方法
答案:
加载性能:减小文件体积、提升页面加载速度。
渲染性能:浏览器解析css代码的速度。
1、尽量把样式写成单独的文件,并且用link引入而不是import》写成单独的样式文件,首先内容和样式分离,易于后续维护;其次减少了页面体积;再者单独的css文件可以缓存、重用、降低成本。而使用imort引入会影响加载性能。
2、选择器的嵌套层级不要太多,尽量不要超过3层,可以考虑BEM》可以提升加载性能和渲染性能,也易于后续维护
3、利用css继承减少代码量
4、少使用高性能属性,比如浮动、定位
5、使用字体图标而不是图片图标》字体图标是矢量图,不会失真,且生成的文件体积小
6、图片优化 - css雪碧图
7、减少重绘重排 - 使用transform 或 opacity来实现css3动画
js
题目:求N的阶乘
答案:
// 阶乘
function test(n) {
let res = 1;
for (let i = 1; i <= n; i++) {
res *= i;
}
return res;
}
console.log(test(2));
// 尾调用优化 - 最后一步操作是调用另一个函数,除此外没有别的操作
function test1(n) {
const plus = (n, sum) => {
if (n === 0) {
return sum;
} else {
sum *= n;
return plus(--n, sum);
}
}
return plus(n, 1);
}
console.log(test1(2));