前端3+1-39

39

html

题目:title和h1、i和em、b和strong有何区别
答案:
title是放在head里面的,网页窗口标题,利于SEO
h1是放在body里面的,会在网页上展示出来
i和em都是斜体,后者有一种语义上的强调
b和strong都是粗体,后者有一种语义上的强调

css

题目:水平、垂直居中方法
答案:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>水平、垂直居中</title>
  <style>
    /* 水平居中 */
    .box {
      width: 160px;
      height: 160px;
      border: 1px solid black;

      /* 法一;针对块级元素内的行内元素 */
      text-align: center;

      /* 法二;flex布局 */
      display: flex;
      justify-content: center;

      /* 法三;absolute + transform */
      position: relative;
    }

    .center {
      /* 法三 */
      position: absolute;
      left: 50%;
      transform: translateX(-50%);

      /* 法四;margin - auto;注意必须是块级元素且固定宽度 */
      display: block;
      width: 48px;
      margin: 0 auto;
    }

    /* 垂直居中 */
    .box2 {
      width: 160px;
      height: 160px;
      border: 1px solid black;

      /* 法一 */
      display: table-cell;
      vertical-align: middle;

      /* 法二;flex布局 */
      display: flex;
      align-items: center;

      /* 法三 */
      line-height: 160px;

      /* 法四;absolute + transform */
      position: relative;
    }

    .center2 {
      /* 法四 */
      position: absolute;
      top: 50%;
      transform: translateY(-50%);

      /* 该方法对垂直居中不起作用 */
      margin: auto 0;
    }
  </style>
</head>

<body>
  <h3>水平居中</h3>
  <div class="box">
    <span class="center">ceshi1</span>
  </div>
  <h3>垂直居中</h3>
  <div class="box2">
    <span class="center2">ceshi2</span>
  </div>
</body>

</html>

js

题目:对模块化的理解
答案:
定义:把常用功能代码分解出来独立成一个模块文件,当其它地方有使用时可直接导入;提高代码复用
分类:
1、commonjs规范;是服务端nodejs的标准,同步加载模块

 //导入
 require('module')
 require('./app.js')

//导出;exports-导出属性或方法,module.exports-导出对象
exports.getSomethInfo = function (){}
module.exports = {someValue,someFunction}

2、es6模块规范;浏览器端的规范,高版本的服务端nodejs也支持

 // 导入
import "/app";
import React from “react”;
import { Component } from “react”;
// 导出
export function multiply() {...};
export var year = 2018;
export default ...
...

3、其它:AMD - 异步加载模块;CMD - 异步加载模块;UMD - commonjs+amd
ps:commonjs规范与es6模块规范
ComonJS
对于基本数据类型,属于复制。即会被模块缓存;同时,在另一个模块可以对该模块输出的变量重新赋值。
对于复杂数据类型,属于浅拷贝。由于两个模块引用的对象指向同一个内存空间,因此对该模块的值做修改时会影响另一个模块。
当使用require命令加载某个模块时,就会运行整个模块的代码。
当使用require命令加载同一个模块时,不会再执行该模块,而是取到缓存之中的值。也就是说,CommonJS模块无论加载多少次,都只会在第一次加载时运行一次,以后再加载,就返回第一次运行的结果,除非手动清除系统缓存。
循环加载时,属于加载时执行。即脚本代码在require的时候,就会全部执行。一旦出现某个模块被”循环加载”,就只输出已经执行的部分,还未执行的部分不会输出。
ES6模块
对于只读来说,即不允许修改引入变量的值,import的变量是只读的,不论是基本数据类型还是复杂数据类型。当模块遇到import命令时,就会生成一个只读引用。等到脚本真正执行时,再根据这个只读引用,到被加载的那个模块里面去取值。
对于动态来说,原始值发生变化,import加载的值也会发生变化。不论是基本数据类型还是复杂数据类型。
循环加载时,ES6模块是动态引用。只要两个模块之间存在某个引用,代码就能够执行。
总结:require/exports 是必要通用且必须的;因为事实上,目前你编写的 import/export 最终都是编译为 require/exports 来执行的。

其它

题目:说说公钥加密和私钥加密
答案:
1、公钥加密:非对称加密,使用2个密钥,一个公有密钥用来加密,一个私有密钥用来解密。常用于数字签名。常见公钥加密算法:RSA
2、私钥加密:对称加密,使用一个密码进行加解密,加密算法可以公开,但解密密钥不能公开。常见私钥加密算法:DES、AES、RC5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值