zoukankan      html  css  js  c++  java
  • 搜的面试题零散记录

    一、语义化标签

    1. b和strong的区别:b只是为了文本加粗显示的视觉效果,除了样式加粗没有其他意义;strong是表示文本重要而进行标记,在语义上是加重的意思,只是其展现方式也是加粗来表明。推荐使用strong。盲人在阅读时,strong是要重读的。

    2.title和h1的区别:title在head中,是网页的标题,权重高于h1;h1在body中,是内容中代表标题的标签,类似文章主题。每个页面应该只有一个title和一个h1,多个h1会造成混淆,无法起到突出主题的效果。

    3.i 和em的区别:i只是为了视觉效果是倾斜展示;em是为了加强语气表示突出。(strong比em语气更强烈)

    二、事件绑定

    1.addEventListener,一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,会执行几次事件,然后会先执行冒泡还是捕获?

    事件冒泡:从里向外找;事件捕获:从外向里找。

    测试:一个元素绑定两个事件,点击时先冒泡,后捕获。(addEventListener,IE9以上支持。)

    两个嵌套的元素,分别都绑定两个事件,点击里面的元素时,顺序是:外层的捕获——内层冒泡——内层捕获——外层冒泡。阻止冒泡:stopPropagation()

    var obj = document.getElementById('aa');
    obj.addEventListener('click', function () {
    alert('a bubble');
    }, false);
    obj.addEventListener('click', function () {
    alert('a catch');
    }, true);
    obj = document.getElementById('dd');
    obj.addEventListener('click', function () {
    alert('div bubble');
    }, false);
    obj.addEventListener('click', function () {
    alert('div catch');
    }, true);

    三、web前端优化

    1.减少http请求次数(浏览器对同一个host有并行下载的限制,http请求越多,总体下载速度越慢)(如:把多个css文件合并为一个)

    2.css放在页头(加快页面内容显示,并且能避免页面产生白屏),JavaScript放在页尾(防止阻塞后面内容的呈现和下载),避免css表达式

    3.减少重定向

    4.减少页面需加载的图片数量,可以使用图片合并css sprites(几个图片合成一个,然后使用css进行截取片断显示)

    5.减少iframe的使用(嵌入其他页面可能无法及时获取,影响展示)

    6.不需直接展示的可进行延迟加载

    7.减少DOM节点(可加快页面渲染)

    8.语义化HTML(没有css时也能很好的呈现,方便其他设备解析,便于团队开发和维护)(div、span就是无意义的标签,应该少用)(header、article、footer、address、section、nav、section、)

  • 相关阅读:
    【刷题】LOJ 6009 「网络流 24 题」软件补丁
    lab 项目
    js内的时间戳指的是当前时间到1970年1月1日00:00:00 UTC对应的毫秒数,和 unix时间戳是对应的秒数,差了1000倍
    js 原生: 身份证脱敏、唯一随机字符串uuid、对于高 index 元素的隐藏与显示
    diy 滚动条 样式 ---- 核心代码
    PC_后台管理系统
    三端兼容项目
    阿里小程序
    到位App_jQuery_art-template
    一步一步 copy163: 网易严选 ---- vue-cli
  • 原文地址:https://www.cnblogs.com/baby-lee/p/4648305.html
Copyright © 2011-2022 走看看