乱七八糟的前端问题

  • css度量单位rem,em,vh,vw,px
  • css控制居中
    • display:flex
    • absolute+transform
  • js new发生了什么?
  • js精度问题
    • 乘法
  • vue生命周期
  • 给一个数组。找出出现次数最多的三个数
  • 压平数组,如何将多维数组变成一维
    • concat结合apply
    • es6:flat()
  • 二叉树的层序遍历
  • display与visibility的区别
  • HTTP1.0与HTTP2.0
  • HTTP/HTTPS的区别
  • 手写一个promise.all
  • 写一个深拷贝

css度量单位rem,em,vh,vw,px

单位 解释
em 相对单位,基准点是父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值
rem 相对单位,可理解为“root em”,相对根节点html的字体大小来计算,CSS3新增属性
vh 视窗高度,1vh等于视窗高度的1%
vw 视窗宽度,1vw等于视窗宽度的1%
px 绝对单位,页面按精确像素展示

css控制居中

    <div class="parent"><button class="child">123</button></div>

display:flex

        .parent{display: flex;justify-content: center;align-items: center;width: 100px;height: 100px;border:1px solid red}

absolute+transform

        .child{position: absolute; top: 50%;left: 50%; transform: translate(-50%,-50%); }

js new发生了什么?

  • 1.创建新对象
  • 2.将this指向这个对象
  • 3.执行代码 将__proto__指向了prototype

js精度问题

先拿出小数部分,乘为整数,然后除以m即可

乘法

function add(num1, num2){let r1, r2, m;try{r1 = num1.toString().split('.')[1].length}catch(e){r1 = 0}try{r2 = num2.toString().split('.')[1].length}catch(e){r2 = 0}m = Math.pow(10, Math.max(r1, r2))return (num1 * m + num2 * m) / m
}

vue生命周期

  • 创建之前
  • 挂载之前
  • 更新之前
  • 更新之后
  • 销毁之前
  • 销毁完成
  • keep-alive缓存功能

给一个数组。找出出现次数最多的三个数

       arr=[1,1,1,1,1,2,2,2,2,2,3,3,3,4,5,6,7,7,7,7,7,7,7,7,7,7,7,8]var map=new Map()arr.forEach(element => {if(map.has(element)){var val=map.get(element)map.set(element,val+1)}else{map.set(element,1)}});var newarr=Array.from(map)newarr.sort(function(a,b){return b[1]-a[1]})var ans=[]for(var i=0;i<3;i++){ans.push(newarr[i][0])}console.log(ans);

压平数组,如何将多维数组变成一维

concat结合apply

let arr=[[1,2],[3,4,5],[6]]
console.log([].concat.apply([],arr))

es6:flat()

        let arr=[[1,2],[3,4,5],[6]].flat(Infinity)console.log(arr);

二叉树的层序遍历

var levelOrder = function (root) {const arr = []function loop(node, h) {if (!node) returnif (!arr[h]) arr[h] = []arr[h].push(node.val)loop(node.left,  h + 1)loop(node.right, h + 1)}loop(root, 0)return arr
}

display与visibility的区别

两者都是隐藏

  • 1.display隐藏后,div不会占用位置
  • 2.visibility隐藏后,div还会占用位置

HTTP1.0与HTTP2.0

HTTP1.0利用文本与服务器交互,而HTTP2.0的基本协议单位为二进制帧流,每帧都有自己的类型旨在实现不同功能,然后HTTP1.0将继续存在,因此HTTP2.0的二进制帧流需映射到HTTP1.0上以实现向下兼容

HTTP/HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

  • 1.https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用
  • 2.http是超文本传输协议,信息是铭文传输,https则是具有安全性的ssl/tls加密传输协议
  • 3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
  • 4.http的连接很简单,是无状态的;https协议是由ssl/tls+http协议构建的可进行加密传输,身份认证的网络协议,比http协议安全

手写一个promise.all

        mypromise.all=function(arr){return new Promise((resolve,reject)=>{if(!Array.isArray(arr)){throw new TypeError('must be arr')}var len=arr.lengthvar resolvenum=0var result=[]for(var i=0;i<len;i++){arr[i].then((data)=>{resolvenum++result.push(data)if(resolvenum==len){return resolve(result)}}).catch((error)=>{return reject(error)})}})}

写一个深拷贝

        function copy(obj){var newobj={}for(var i in obj){if(typeof obj[i]=="object")newobj[i]=copy(obj[i])elsenewobj[i]=obj[i]}return newobj}

前端扫盲,希望早日恢复视力相关推荐

  1. 前端扫盲3,希望早日恢复视力

    前端扫盲 js基础知识 JS的变量类型 日期问题 怎么改变一个函数的this作用域 apply() call() bind() 字符串问题 原型链 原型链的继承 借用构造函数继承 组合继承 原型式继承 ...

  2. 双目九视清哺光仪_儿童近视眼300度怎么恢复视力,近视哺光仪对眼睛的影响

    儿童近视眼300度怎么恢复视力,近视哺光仪对眼睛的影响 孩子近视眼轴一旦变长是没法缩短,所以真性近视不可逆,这目前是医学难题.比如激光手.晶体植入等提升的都是用眼清晰度,而不是降低近视度数,下面视频告 ...

  3. 管理员同志,回收站博文希望得到恢复,万分感谢

    管理员同志,你好. 今天抽空写了一篇博文,希望分享的,可是由于手误,不熟悉,删至回收站了,自己恢复不了,希望得到恢复,万分感谢.

  4. 近视?老花眼?恢复视力,就用这一招!

    近视?老花眼?恢复视力,就用这一招! 2016-04-18 小编说: 如果家里有小孩近视.老人眼花.玩手机后眼睛疲劳的,都可以用这个方法,不伤眼,帮助恢复视力! 平时习惯 蒸熏眼睛 首先平时习惯是:勤 ...

  5. 忽视这5件事,2年后你将连手机都看不清了!附恢复视力方法

    保护眼睛已非青少年需做事,眼睛是心灵的窗户,每个珍爱自己眼睛的人都要学会爱护和科学地使用自己的眼睛. 以下这5个习惯有的人就要小心了,会严重伤害眼睛,不需要很久,2年的时间足以看出伤害- 1 经常滴眼 ...

  6. 恢复视力方法(仅供参考)

    1.远方凝视: 找一处10米以外的草地或绿树:绿色由于波长较短,成像在视网膜之前,促使眼部调节放松.眼睫状肌松弛,减轻眼疲劳.不要眯眼,也不要总眨眼,排除杂念.集中精力.全神贯注的凝视25秒,辨认草叶 ...

  7. 近视眼怎么慢慢恢复视力 近视眼怎么恢复视力自然恢复

    近视眼目前是认为近距离工作过久所导致的,使近视眼自然恢复,我们可以采取一些眼部的运动: 1,眺望远方 我们都知道,近视给我们的生活带来了许多不便和麻烦.如果你每天都戴一双眼镜,不仅会影响外观,还会对我 ...

  8. 大家分享——恢复视力方法

    <script type="text/javascript"> </script> <script src="http://pagead2. ...

  9. 600度近视眼恢复方法_高度近视600度如何恢复视力?有这三大办法可对付!

    原标题:高度近视600度如何恢复视力?有这三大办法可对付! 近视其实有3个门槛,很多人都不甚了解. 近视度数低于300度,为轻度近视: 近视度数高于300度,低于600度,为中度近视: 近视度数高于6 ...

最新文章

  1. 基于cookie的SSO单点登录系统
  2. 建立行政效果公布体制
  3. windows2003中mssql连接的NT AUTHORITY\NETWORK SERVICE登录失败的问题
  4. java将图片变成圆角_android图片处理之让图片变成圆形
  5. dedecms右侧悬浮_织梦dedecms网站上添加漂浮广告
  6. 解读设计模式----策略模式(Strategy Pattern)
  7. ajax 动态加载的内容,相应的js也要在回调里加载
  8. SqlServer数据库同步方案详解
  9. FPGA实现VGA显示(五)——————配置ROM测试及图片显示(b)
  10. div关闭怎么写 html,大神你好,请问怎么在以下代码的div中添加一个关闭按钮?...
  11. 【调参】Cyclic Learning Rates和One Cycle Policy-Keras
  12. ThinkPHP5捕获致命错误流程
  13. 代码实现抖音时钟罗盘
  14. 柴静十年成长的个人告白 - 读《看见》
  15. 计算机与信息学院迎新标语,学院迎新标语横幅
  16. 利用js写一个函数,实现翻转任意数组。 写一个函数,实现对数字数组的排序。
  17. 试题 算法训练 藏匿的刺客
  18. 将ShellCode注入进程内存
  19. php redis incr过期时间,Redis 利用 incr 和 expire 来限流, 并发导致过期时间失效问题...
  20. discuz论坛部署及常见问题处理

热门文章

  1. 读书笔记:《不要挑战人性:史上20个经典人性实验》
  2. python-关于一个二维列表,按照给定一个顺序列表来进行排序(个人总结,不喜勿喷)
  3. PS网页设计教程——小贴士:五步在PS中创建倒计时数字牌
  4. 芋道源码的周八(2018.01.20)
  5. 高防IP可以抵御哪些恶意攻击?
  6. Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL、Set DEFAULT
  7. CoordinatorLayout+ViewPager+Behavior仿喜马拉雅FM首页
  8. 0. 嵌入式入门学习路线
  9. 3D让工厂生产数据更智慧
  10. Angular4.x+Swiper3制作公告栏和轮播图(引用第三方库)