知识总结三

基本信息

一、ES6中const定义的属性是否可以改变

可以!这是由于对象或者数组属于引用数据类

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。

对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但是对于符合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

HTML/HTML5

一、什么是语义化

html5的标签header,footer,section等就是语义化

语义化优点:

1.易于用户阅读,样式丢失的时候能让页面呈现清晰的结构

2.有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重

3.方便其他设备解析,有盲人阅读器根据语义渲染网页

4.有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐

二、HTML5的新特性

1.语义标签

<header> 定义文档头部区域    <footer>  定义文档的尾部区域    <nav>  定义文档的导航    <section>  定义文档的节    <article> 定义文章    <aside> 定义页面以外的内容    <details> 定义用户可以看到或者隐藏的额外细节    <summary> 标签包含details元素的标题    <dialog> 定义对话框    <figure> 定义自包含内容,如图表    <main> 定义文档主内容    <mark> 定义文档的主内容    <time> 定义日期/时间

2.增强型表单

新的input输入特性:color、date、datetime、datetime-local、month、week、time、email、number、url、tel、search、range

新增五个表单元素:<datalist>、<progress>、<meter>、<keygen>、<output>

新增表单属性:placehoder、required、pattern、min/max、step、height/wdith、autofocus、multiple

3.音频和视频

4.canvas绘图

5.svg绘图

6.地理定位 getCurrentPosition()

7.拖放API     draggable

8.WebWorker 通过加载一个脚本文件,进而创建一个独立工作的线程,在主线程之外运行

9.webStorage 新增的本地存储解决方案之一

10.WebSocket  全双工通信机制

三、如何解决ajax无法后退的问题

html5里引入了新的API,即:history.pushState,history.replaceState

可以通过pushState和replaceState接口浏览器历史,并且改变当前页面的URL

onpopstate监听后退

四、Ajax短轮询、Ajax长轮询和websocket

Ajax长轮询:server收到请求后如果有数据,立即响应请求;如果没有数据就会停留一段时间,这段时间内,如果server请求的数据到达,就会立即响应;如果这段时间过后,还没有数据到达,则以空数据的形式响应http请求;若浏览器收到的数据为空,会再次发送同样的http请求到server。缺点:没有数据时,会造成服务器资源浪费。

Ajax短轮询:server收到请求,不管是否有数据到达都直接响应http请求;如果浏览器收到的数据为空,则隔一段时间,浏览器又会发送相同的http请求到server以获取数据响应。缺点:消息交互的实时性较低

WebSocket:服务器可以主动推送消息给服务器;端轮询每次http请求前建立连接,长轮询是相邻几次请求前都要建立连接;http请求响应完成后,服务器就会断开连接,且信息都会忘记;websocket只需要HTTP握手。

总结:

1.轮询就是定时发送请求,响应请求

2.长轮询,定时发送请求,响应请求,客户端接收到响应后,继续发送请求,从而达到不间断

3.socket就是发出请求,这个请求是长连接,服务器端连接后,就不需要客户端发送请求,服务器端可以向客户端推送数据

五、Doctype作用?严格模式与混杂模式如何区分?意义?

<!DOCTYPE>声明位于文档的最前面,处于标签之前。告知浏览器以何种模式来渲染文档,以及用来告知web浏览器页面使用了哪种HTML版本。

严格模式的排版和js运作模式是以该浏览器支持的最高标准运行

在混杂模式中,页面已宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作

DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现

六、Doctype多少种文档类型?(HTML 4.01版本)

该标签可声明DTD类型,分别表示严格版本、过度版本以及基于框架的HTML文档

HTML4.0.1 规定了三种文档类型:Strict、Transitional以及Frameset

XHTML 1.0 规定了三种XML文档类型:Strict、Transitional以及Franmeset

Standards(标准)模式用于呈现遵循最新标签的网页,而Quirks模式用于呈现为传统浏览器而设计的网页

七、HTML与XHTML有什么区别

1.XHTML元素必须被正确地嵌套

2.XHTML元素必须被关闭

3.标签名必须用小写字母

4.XHTML文档必须必须拥有根元素

CSS

一、content-box和border-box,为什么看起来content-box更合理,但还是经常使用border-box?

box-sizing属性允许您以特定的方式定义匹配某个区域的特定元素

语法:box-sizing:content-box|border-box|inherit;

content-box:padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和;即:Element width = width + border + padding

border-box:padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值。即使定义有border和padding也不会改变对象的实际宽度。即: Element width = width

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容