晓说╭❤

my whole life!

  • 首页
  • 晓说集
  • 标签
  • 分类
  • 好文
  • 代码
  • 搜索

Q:你了解异步编程、进程、单线程、多线程吗?

发表于 2018-06-20 | 分类于 js
字数统计: 1,774 | 阅读时长 ≈ 6

相关定义

Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。

  1. 同步:一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
  2. 异步:进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
  3. 进程:狭义上,就是正在运行的程序的实例。广义上,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
  4. 线程:线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位。指运行中的程序的调度单位。
  5. 单线程:单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。单线程就是进程里只有一个线程。
  6. 多线程:在单个程序中同时运行多个线程完成不同的工作,称为多线程。

阅读全文 »

Q:为何img,input等内联元素可设置宽高?

发表于 2018-06-20 | 分类于 html
字数统计: 821 | 阅读时长 ≈ 3

简答:

因为<img>、<input>属于替换元素,替换元素一般有内在尺寸和宽高比(auto时起作用),所以具有width和height,可以设定。

细答:

元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”)。但是不同的元素显示的方式会有所不同,例如<div>和<span>就不同,而<strong>和 <p>也不一样。

阅读全文 »

script中defer和async的区别

发表于 2018-06-20 | 分类于 js
字数统计: 629 | 阅读时长 ≈ 2

定义

defer:此布尔属性被设置为向浏览器指示脚本在文档被解析后执行。
async:设置此布尔属性,以指示浏览器如果可能的话,应异步执行脚本。

  1. 对于defer,我们可以认为是将外链的js放在了页面底部。js的加载不会阻塞页面的渲染和资源的加载。不过defer会按照原本的js的顺序执行,所以如果前后有依赖关系的js可以放心使用。

  2. 对于async,这个是html5中新增的属性,它的作用是能够异步的加载和执行脚本,不因为加载脚本而阻塞页面的加载。一旦加载到就会立刻执行在有async的情况下,js一旦下载好了就会执行,所以很有可能不是按照原本的顺序来执行的。如果js前后有依赖性,用async,就很有可能出错。

阅读全文 »
12
Juicyangxj

Juicyangxj

8 日志
10 分类
12 标签
© 2018 — 2019 Juicyangxj-杨晓君-晓说   苏ICP备18039189号-1 | Site words total count: 8.3k
访问用户 人 访问次数 次