第一题
写出下列代码的执行结果:
new Promise((resolve) => { console.log(‘1‘) resolve() console.log(‘2‘) }).then(() => { console.log(‘3‘) }) setTimeout(() => { console.log(‘4‘) }) console.log(‘5‘)
1 、2、 5 、3、 4
第二题
请列举几个HTML5语义化标签,并说说语义化有什么优点?
语义化标签:
<title> 页面主体内容。 <hn> h1~h6,分级标题,<h1> 与 <title> 协调有利于搜索引擎优化。 <ul> 无序列表。 <li> 有序列表。 <header> 页眉通常包括网站标志、主导航、全站链接以及搜索框。 <nav> 标记导航,仅对文档中重要的链接群使用。 <main> 页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。 <article> 定义外部的内容,其中的内容独立于文档的其余部分。 <section> 定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。 <aside> 定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。 <footer> 页脚,只有当父级是body时,才是整个页面的页脚。 <small> 呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。 <strong> 和 em 标签一样,用于强调文本,但它强调的程度更强一些。 <em> 将其中的文本表示为强调的内容,表现为斜体。 <mark> 使用黄色突出显示部分文本。 <figure> 规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。 <figcaption> 定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。 <cite> 表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。 <blockquoto> 定义块引用,块引用拥有它们自己的空间。 <q> 短的引述(跨浏览器问题,尽量避免使用)。 <time> datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。 <abbr> 简称或缩写。 <dfn> 定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。 <address> 作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。 <del> 移除的内容。 <ins> 添加的内容。 <code> 标记代码。 <meter> 定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签) <progress> 定义运行中的进度(进程)。 优点:
- 代码结构清晰,方便阅读,有利于团队合作开发。
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以语义的方式来渲染网页。
- 有利于搜索引擎优化(SEO)。
第三题
请列举几种除了px外的CSS度量单位并解释其含义。
- rem 相对于根字体大小的单位,比如可以设置 1rem=50px
- em 相对于font-size,比如font-size:16px(浏览器默认),则2em=32px
- vm 即viewpoint width,视窗宽度,比如1vm的宽度为相对于视窗的宽度的百分之一
- vh 即viewpoint height ,同上
第四题
new操作符做了什么?
- 创建一个新对象。
- 将构造函数的作用域赋给新对象(this指向新对象)。
- 执行构造函数中的代码。
- 返回新对象。
第五题
简述cookie/session记住登录状态机制原理。
session 是服务端的状态保存机制,cookie 是客户端的状态保存机制。
当第一次访问服务器的时候 服务器会开辟一块空间用来存放用户的信息,每一个登录之后的用户信息都会以key value格式记录在session中,同时服务器会把sessionId(用户信息)存在cookie中,返回给访问的客户端,客户端就会把sessionID保存在本地的cookie中对应的网站记录下。下次访问的时候会携带这个sessionId
,服务器会验证这个cookie的有效性,来判断用户是否登录。
第六题
网页中接收事件的顺序(事件流)有哪些?它们之间的区别是什么?
捕获和冒泡,冒泡是事件由子元素传递到父元素的过程,捕获是时间由父元素传递到子元素的过程。
第七题
css属性position都有哪些值?
参考:https://www.w3school.com.cn/cssref/pr_class_position.asp
值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 inherit 规定应该从父元素继承 position 属性的值。
第八题(简答题)
简述你对HTTP控制访问(CORS)的理解。
原文:https://www.cnblogs.com/iamchinese/p/p3s.html