前端实习面试记录(一)

栏目: CSS · 发布时间: 7年前

内容简介:初次面试 惨败最优算法:

前端实习面试记录(2019.2.27)

初次面试 惨败

CSS部分

1.利用border的特性实现

CSS实现三角形

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实现。
  • 详细解释: 懒加载和预加载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法竞赛入门经典(第2版)

算法竞赛入门经典(第2版)

刘汝佳 / 清华大学出版社 / 2014-6-1 / CNY 49.80

《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量......一起来看看 《算法竞赛入门经典(第2版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器