前端基础知识问题整理(二)
-
哪些事件会触发冒泡?哪些不会?
网络截图 -
哪些是 JavaScript 的保留字(关键字)?
image.png
image.png -
var flag1 = null || undefined
对于 || 来说,如果条件判断是 true ,那么会返回第二个值,如果条件为 false,那么会返回第一个值
对于 && 来说,如果条件判断是 true,那么会返回第一个值,如果条件为 false,那么会返回第二个值 -
客户端渲染 和 服务端渲染 的区别
image.png -
hash 和 history 的区别
hash:1.hash的优点是兼容性比较高,可以直接在项目布署上线时使用。2.hash的缺点是#不美观影响url的美感,并且如果移动端分享严格限制,可能会报错
history:1.history的优点是不会影响到url的美感,提高了可观赏性。2.history的缺点是需要与后端搭配,配合项目的部署上线! -
MVVM 的特点之一是 低耦合
-
模块化开发就是将大的文件拆分为许多独立的小文件,按需在不同的组件中导入,降低了代码耦合度,提高了代码复用性。
-
const _ = exports
nodeJs 中,默认有一个var exports = module.exports
参考博文:https://www.cnblogs.com/fayin/p/6831071.html -
?.
和??
let res = obj?.data?.list
等价于let res = obj && obj.data && obj.data.list
,意思是 obj 下存在 data 且 data 下存在 list ?如果其中一链不存在再返回 null 或者 undefined。
补充一点:?.
叫做可选链
??
则是指 前面一项是否存在(为 true
) ,存在则返回本身,不存在则返回 ??
后的替代内容
参考博客: js问号点的作用(?.)和问号问号(??)的用法
- 触发 BFC(块级 格式化 上下文) 的条件
·body根元素
·设置浮动,不包括none
·设置定位,absoulte或者fixed
·行内块显示模式,inline-block
·设置overflow,即hidden,auto,scroll
·表格单元格,table-cell
·弹性布局,flex
-
针对移动网页优化过的页面的 viewport meta 标签有哪些属性
width:控制 viewport 的大小,可以指定的一个值,如 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
height:和 width 相对应,指定高度。
initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
maximum-scale:允许用户缩放到的最大比例。
minimum-scale:允许用户缩放到的最小比例。
user-scalable:用户是否可以手动缩放。 -
拖放事件
首先,为了使元素可拖动,把 draggable 属性设置为 true
拖动什么 - ondragstart
放到何处 - ondragover
ondragover 事件规定在何处放置被拖动的数据。
进行放置 - ondrop
当放置被拖数据时,会发生 drop 事件 -
dom中HTMLDivElement的正确继承关系
image.png -
Video/Audio中会触发的事件
方法:load() play() pause()
事件:play() playing() pause() seeked() seeking() abort()当音频/视频的加载已放弃时触发 -
http协议与tcp协议区别
TCP/IP
主要的作用就是保证连接的可靠性,我不管发出任何东西给你,都要有这一套协议来保证不丢包
比如说TCP协议就是这样,无论上层让他传啥数据,他都通过与IP协议的操作,把这些东西分段,然后输送,同时保证在这个过程中,数据不会丢,如果丢了一块,他还得想办法重新传一次。这就是TCP、IP的意义
另外,HTTP协议,可以认为主要是用来访问网页的,
是比TCP更上层的协议,http里面规定了我们访问网页的时候如何进行缓存,以及请求什么格式。等等,主要是为了让人们访问网页的时候更快,更安全,而规定了很多参数。
你可以认为TCP IP协议就是搬运工,保证搬动的东西不被损坏
http协议是做业务的,用来决定要不要搬运,以及如何搬运,从哪去搬运
参考地址: https://zhidao.baidu.com/question/1494062688333466299.html