内容简介:初次面试 惨败最优算法:
前端实习面试记录(2019.2.27)
初次面试 惨败
CSS部分
1.利用border的特性实现
JS部分
1.数组乱序
arr.sort(function(){ return Math.random() - 0.5; })
最优算法: Fisher–Yates shuffle 洗牌算法
2.for in 和 for of
for in | for of | |
---|---|---|
Array | 遍历当前实例以及其原型链上所有 可枚举的 key |
只遍历当前实例中的所有 value ,不涉及原型链 |
Object | 遍历当前实例以及其原型链上所有 可枚举的 key , 通常需要 Object.hasOwnProperty 过滤。也可以直接用Object.keys(),该函数不会遍历到原型链 |
报错 typeError |
for in 遍历的是键,for of 遍历的是值, for in 一般用于对象的遍历,不会用在数组上。
Js中for in 和for of的区别3.promise
Promise构造函数接收的函数中, 调用resolve()之后的代码仍然会执行 ,它在被new的时候是同步执行的,然后再考虑微任务的问题
console.log('test start') var promise = new Promise(function(resolve, reject){ console.log('promise start'); resolve('testing'); console.log('promise end'); }) promise.then(function(value){ console.log(value); }) console.log('test end');
4.监听一段时间内用户对我方网页的所有操作
到现在我也想不到如何监听 document
的所有事件,总不能让我把所有事件种类都监听吧。
在这里只写一个 click
事件
document.addEventListener('click', function(e){ e = e || window.event; // firefox下window.event为null, IE下event为null stopBubble(e); preventDefault(e); console.log(e.target); }, false); function stopBubble(e) { // 组织冒泡 if(e && e.stopPropagetion){ e.stopPropagation(); // w3c } else { window.event.cancelBubble = true; } } function preventDefault(e){ // 组织浏览器默认行为 if(e && e.preventDefault) { // w3c e.preventDefault() } else { // ie window.event.returnValue = false; } return false; }
综合方面
1.图片懒加载和预加载
- 懒加载也可称作 延迟加载
懒加载就是先将页面内的所有图片的真实地址放在一个属性(data-url
)里, 并将src
先设置为1px的小图片,当触发某些条件(图片进入视野)时,再将图片的src换成真实地址。使页面加载速度快、可以减轻服务器的压力,节约了流量,用户体验好。 - 预加载
提前加载图片,当用户需要查看时可直接从本地缓存中渲染 ,可以使用css或js实现。 - 详细解释: 懒加载和预加载
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。