常见前台问题合集

作者 : 开心源码 本文共993个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共197人阅读

说说你对语义化的了解?

1,去掉或者者丢失样式的时候能够让页面呈现出清晰的结构
2,有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
3,方便其余设施解析(如屏幕阅读器、盲人阅读器、移动设施)以意义的方式来渲染网页;
4,便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

对BFC规范的了解?

  BFC,块级格式化上下文,一个创立了新的BFC的盒子是独立布局的,盒子里面的子元素的样式不会影响到外面的元素。在同一个BFC中的两个毗邻的块级盒在垂直方向(和布局方向有关系)的margin会发生折叠。(W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行布局,以及与其余元素的关系和相互作用。)

请写出你对闭包的了解,并列出简单的了解 ?

使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

闭包有三个特性:
1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收

yield

相当于一个迭代器,初始化好之后调用next()方法迭代,值并不能保存,在第一次调用可以传空值,以后的需要传入上次yield的值。如下:

function *foo(x){var y=2*(yield(x+1));//第一次调用后返回x+1=6var z=yield(y/3);//第二个it.next(12)表示上一个yield的返回结果是12,带进去也就是var y=2*12; 这个地方必需带值,由于yield内是表达式(x+1),不是常量,//无法自己计算,这里为什么不把之前的x缺省带进去计算,只能说目前的机制不是这样return (x+y+z);//第三次调用后返回x+y+z,且done=true,由于迭代完成} var it=foo(5); //初始化x为5console.log(it.next()); //{value: 6, done: false}console.log(it.next(12)); //{value: 8, done: false}console.log(it.next(13)); //{value: 42, done: true}

引用自:对ES6的yield示例分析

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 常见前台问题合集

发表回复