js异步编程的那些事
主要是关于js运行顺序,宏任务,微任务,任务队列,Event loop,同步事件异步事件
异步编程背景:js诞生之际是一门单线程语言,功能较少。后随着计算机的发展,ajax等的兴起。当计算机执行一个需要较长时间的进程时候,为了提高计算机效率,不让其空闲,就有了异步。
什么是异步js
在js中,任务分为两种,同步任务和异步任务。同步任务在主线程中,一开始就执行,而异步任务在需要时或者特点条件下才会执行。
异步js主要有:
DOM操作
定时器
AJAX请求
在程序执行过程中,所以的同步任务都会在主线程上执行,形成一个执行栈
主线程之外还存在一个任务队列,只要异步任务有了结果,就会在任务队列中放置一个事件,当同步任务执行完,或者说执行栈一被清空。主线程就开始执行任务队列里面的异步事件,即当前异步事件的回调函数。再任务队列中,事件遵循先进后出规则。
异步事件注意点
异步事件的发生先后顺序是不确定的,这取决于当前事件在子进程中完成的先后顺序,先完成的先进入任务队列,先执行。
定时器由于任务队列的先进后出,可能会延时发生。当定时器时间到达时,才会在任务队列中添加事 ...
Vue 父组件——子组件通信
开发中用到最多的场景,父子组件通信,分发事件,组件传值。
Props 父组件向子组件通信12345678910111213//找到找到父组件使用子组件的地方,为其添加父组件传递给子组件的数据<parent> title:'props传值', date:'2020/03 '</parent>//* 在子组件接收两个参数export default { name:'child', props:['title','date']}//这样之后就可以在子组件像使用Vue date 一样使用title 和 date
$emit 子组件向父组件通信123456789101112131415//$emit 方法是Vue的一个实例方法,他的用法如下vm.$emit(eventName,[...args])// 参数1){string} eventName2) [...args]//第一个参数eventName 为事件名称 ...
javascript入门
撸js的第一遍,持续不断深入的学习一门语言应当坚持下去,每一回学习都会有不一样的体会。
javascript介绍JavaScript 是脚本语言(作为web的JavaScript 是一种函数优先轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 基于原型编程,多范式的动态脚本语言,支持面向对象,命令式,声明式,函数式编程范式,解释性或即时编译型的编程语言
网景 –>欧洲计算机协会 –>ECMAScript(ES)
Javascipt 核心语法
核心语法(ESMAscript) DOM(W3C) BOM(网景)
ES1 … ES3 … ES5
ES4(去掉改动大的语法,和谐会议)
ES6 2015年 当年争议的话题
ES7 -ES11 一年一更新 2016-2020 ES6之后统称ES6
语法糖 :ES6 写代码运行更快
JavaScript作用网页开发
JS包含三个部分的内容(在浏览 ...