前端实习面试记录(一)

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

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

前端实习面试记录(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实现。
  • 详细解释: 懒加载和预加载

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

查看所有标签

猜你喜欢:

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

Learning JavaScript

Learning JavaScript

Shelley Powers / Oreilly & Associates Inc / 2006-10-17 / $29.99

As web browsers have become more capable and standards compliant, JavaScript has grown in prominence. JavaScript lets designers add sparkle and life to web pages, while more complex JavaScript has led......一起来看看 《Learning JavaScript》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具