• 【每日N题】0111


    1. label for 的用处?

    label是为input元素服务的标签,为其定义标记,for属性规定label与哪个具体的表单元素绑定,对应input标签的id属性

    示例:点击label的时候会聚焦到input上

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title>Label测试</title>
      </head>
      <body>
      <form>
        <label for="male">Male</label>
        <input type="radio" name="sex" id="male" />
        <br/>
        <label for="female">Female</label>
        <input type="radio" name="sex" id="female" />
      </form>
      <form>
        <label for="userName">姓名</label>
        <input type="text" name="userName" id="userName" />
        <br/>
        <label for="psd">密码</label>
        <input type="password" name="psd" id="psd" />
      </form>
      </body>    
    </html>

    2. img的data-src属性及懒加载

    图片懒加载:在访问页面的时候,先把img元素或其他元素的背景图片替换成一张大小为1*1px的图片路径,(只用发送一次请求)当图片出现在浏览器的可视区域内的时候,才设置图片真正的路径,让图片显示出来。

    创建一个自定义属性data-src存放真正需要显示的图片路径,src存放一张大小为1*1px的图片路径,当页面滚动到图片可视区域的时候用js取该图片的data-src赋值给src

    3. HTML data-*属性

    data-*属性用于存储页面或应用程序的私有自定义数据

    data-*属性赋予我们所在html元素上嵌入自定义data属性的能力

    存储的自定义数据能够被页面的js利用,以创建更好的用户体验(不进行ajax调用或服务端数据库查询)

    4. CSS display: block inline inline-block 区别

    (1)block会独占一行,多个block元素会各自新起一行,默认情况下,block元素宽度自动填满父元素宽度,block可以设置宽高属性和margin、padding属性

    (2)inline不会独占一行,多个行内元素会排列在同一行,直到一行排不下才会换新的一行,宽度随元素内容的变化而变化。设置宽高无效,可以在水平方向产生边距效果,竖直方向不会

    (3)inline-block呈现效果类似于inline但是可以设置宽高属性

    5. 三栏纵列布局,宽度一样,怎么实现

    (1)flex实现

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title>三栏布局宽度一样</title>
      </head>
      <body>
        <style>
          body {
            display: flex;
          }
          div {
            height: 100px;
          }
          .a {
            flex: 1;
            background-color: red;
          }
          .b {
            flex: 1;
            background-color: blue;
          }
          .c {
            flex: 1;
            background-color: green;
          }
        </style>
        <div class="a"></div>
        <div class="b"></div>
        <div class="c"></div>
      </body>    
    </html>

    (2)grid实现

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title>三栏布局宽度一样</title>
      </head>
      <body>
        <style>
          body {
            display: grid;
            grid-template-columns: 33.3% 33.3% 33.3%;
          }
          div {
            height: 100px;
          }
          .a {
            background-color: red;
          }
          .b {
            background-color: blue;
          }
          .c {
            background-color: green;
          }
        </style>
        <div class="a"></div>
        <div class="b"></div>
        <div class="c"></div>
      </body>    
    </html>

    6. JS的输出顺序

    考察js的单线程特性,setTimeout属于异步操作,for循环执行完毕前,每次遍历产生一个setTimeout操作,被放在队列中等待执行,直到同步过程执行结束,才执行依次setTimeout,此时i变成4了

    for(var i=1;i<=3;i++){
      setTimeout(function(){
        console.log(i); //输出:4,4,4
      },0)
    }

    如何产生1、2、3的输出结果

    (1)使用ES6的let

    //将var变为let
    for(let i=1; i<=3; i++){
      setTimeOut(function(){
        console.log(i); //输出的结果为1,2,3
      },0);
    }

    (2)使用立即执行函数

    for(var i=1; i<=3; i++){
      !function(i){
        setTimeOut(function(){
          console.log(i); //输出的结果为1,2,3
        },0);
      }(i)
    }

    7. 为什么要有虚拟DOM节点,直接操作DOM节点的问题在哪里?

    虚拟DOM:对复杂的DOM结构提供便捷的工具,最小化的进行DOM操作。

    虚拟DOM不会进行重绘和回流,在虚拟DOM中进行频繁修改,然后一次性比较并修改真实DOM中需要修改的部分,最后在真实DOM中进行重绘和回流,见着过多的DOM节点重绘和回流的损耗。

    真实DOM的重绘和回流效率相当低,虚拟DOM有效地降低了大面积的对真实DOM进行重绘和回流,因为通过比较差异,只渲染局部。

    8. Vue 的插件怎么注册,插件接口该怎么设计?【X】

    https://www.cnblogs.com/adouwt/p/9211003.html

    9. 设计一个v-dom和渲染函数【X】

    10. 输入一个url到显示页面会发生什么?

    11. 怎么使用CDN缓存加速?

    12. 浏览器怎么渲染html、css、js哪个会先渲染?

    13. js同步代码要loop很久,会不会阻塞后面代码的执行?

    14. d3.js和vue怎么一起用? 【X】

    https://www.cnblogs.com/wuvkcyan/p/8975105.html

    15. 设计一个异步函数的调用

    16. 岛上有 白、灰、黑三种颜色的变色龙,其中两种不同颜色的变色龙相遇会同时变成第三种颜色,问三种颜色的变色龙数量分别为10,14,15时可能变成同一种颜色的变色龙吗?

  • 相关阅读:
    IMYSQL-叶金荣
    mysql命令
    实效云计算用户组(ECUG) 与 阿里云
    GO 语言
    MYSQL 源代码编绎脚本
    MYSQL 源代码学习
    LINUX 性能工具使用
    CentOS 5.8 上安装 systemtap-2.6 转
    mysql php nginx
    redis 安装
  • 原文地址:https://www.cnblogs.com/xdcat/p/14263724.html
Copyright © 2020-2023  润新知