Open Geekiter opened 7 months ago
Web移动端调取摄像头,录制内容实时渲染在界面上,可以拖拽和隐藏,
CSS
继承属性是指当一个元素没有指定某些属性值时,它会从父元素那里继承这些属性值。这意味着如果父元素设置了某个属性,子元素会继承该属性值,除非子元素显式地重写了这些属性。
常见的继承属性包括:
font-family
font-size
font-weight
font-style
color
line-height
text-align
visibility
非继承属性是指当一个元素没有指定某些属性值时,它不会从父元素那里继承这些属性值,而是采用浏览器或者用户代理的默认值。
常见的非继承属性包括:
width
height
margin
padding
border
background
position
display
float
clear
z-index
JS
事件循环的主要组成部分包括:
执行栈(Call Stack):
消息队列(Message Queue):
事件循环(Event Loop):
微任务队列(Microtask Queue):
执行全局同步代码,将同步任务推入执行栈中执行。
执行完同步任务后,检查微任务队列是否有任务,如果有则依次执行微任务队列中的任务。
如果微任务队列为空,则从宏任务队列中取出一个任务,并将其对应的回调函数推入执行栈中执行。
执行完当前宏任务后,重复步骤 2 和步骤 3。
微任务(Microtask):
then
catch
finally
process.nextTick
宏任务(Macrotask):
在事件循环中,当一个宏任务执行结束后,会检查微任务队列是否有任务,如果有的话,会依次执行微任务队列中的所有任务,直到微任务队列为空。然后,再执行下一个宏任务。
JavaScript 是一门单线程语言,这意味着在同一时间内,只能执行一个任务,也就是说,代码的执行是按照顺序逐行进行的。这与一些其他编程语言不同,它们可能支持多线程并行执行。
在 JavaScript 中,单线程的主要线程被称为主线程(main thread)。所有的代码都是在这个主线程上执行的,包括事件处理、定时器、HTTP 请求等异步操作。这种单线程的执行模型在语言设计上简化了很多并发和同步的问题。
虽然 JavaScript 是单线程的,但通过使用异步编程,它可以处理大量并发的操作,而不会阻塞主线程。这是通过事件循环(event loop)机制实现的,它允许将异步任务放入队列,等到主线程空闲时再执行这些任务,而不是立即执行。这使得 JavaScript 能够更好地处理异步操作,如处理用户输入、网络请求等,而不会造成页面的冻结或卡顿。
Vue
Web移动端调取摄像头,录制内容实时渲染在界面上,可以拖拽和隐藏,
CSS
水平居中
行内元素水平居中(文本、内联元素等)
块级元素水平居中(有固定宽度)
Flexbox 水平居中
垂直居中
单行文本垂直居中
多行文本垂直居中
绝对定位垂直居中
继承属性
继承属性是指当一个元素没有指定某些属性值时,它会从父元素那里继承这些属性值。这意味着如果父元素设置了某个属性,子元素会继承该属性值,除非子元素显式地重写了这些属性。
常见的继承属性包括:
font-family
: 字体系列font-size
: 字体大小font-weight
: 字体粗细font-style
: 字体样式color
: 文本颜色line-height
: 行高text-align
: 文本水平对齐方式visibility
: 元素可见性非继承属性
非继承属性是指当一个元素没有指定某些属性值时,它不会从父元素那里继承这些属性值,而是采用浏览器或者用户代理的默认值。
常见的非继承属性包括:
width
: 元素宽度height
: 元素高度margin
: 外边距padding
: 内边距border
: 边框background
: 背景position
: 定位属性display
: 显示方式float
: 浮动clear
: 清除浮动z-index
: 层叠顺序JS
事件循环的主要组成部分包括:
执行栈(Call Stack):
消息队列(Message Queue):
事件循环(Event Loop):
微任务队列(Microtask Queue):
执行全局同步代码,将同步任务推入执行栈中执行。
执行完同步任务后,检查微任务队列是否有任务,如果有则依次执行微任务队列中的任务。
如果微任务队列为空,则从宏任务队列中取出一个任务,并将其对应的回调函数推入执行栈中执行。
执行完当前宏任务后,重复步骤 2 和步骤 3。
微任务(Microtask):
then
、catch
、finally
)、process.nextTick
等。宏任务(Macrotask):
在事件循环中,当一个宏任务执行结束后,会检查微任务队列是否有任务,如果有的话,会依次执行微任务队列中的所有任务,直到微任务队列为空。然后,再执行下一个宏任务。
JavaScript 是一门单线程语言,这意味着在同一时间内,只能执行一个任务,也就是说,代码的执行是按照顺序逐行进行的。这与一些其他编程语言不同,它们可能支持多线程并行执行。
在 JavaScript 中,单线程的主要线程被称为主线程(main thread)。所有的代码都是在这个主线程上执行的,包括事件处理、定时器、HTTP 请求等异步操作。这种单线程的执行模型在语言设计上简化了很多并发和同步的问题。
虽然 JavaScript 是单线程的,但通过使用异步编程,它可以处理大量并发的操作,而不会阻塞主线程。这是通过事件循环(event loop)机制实现的,它允许将异步任务放入队列,等到主线程空闲时再执行这些任务,而不是立即执行。这使得 JavaScript 能够更好地处理异步操作,如处理用户输入、网络请求等,而不会造成页面的冻结或卡顿。
Vue