进程概述
进程概述概念进程(Process)是程序关于某数据集合的一次运行活动,由程序代码、数据及进程控制块(PCB)组成。它不仅是系统资源(如内存、文件、CPU时间)的分配单元,也是并发执行的基本实体。 程序:静态的,就存放在磁盘里的可执行文件,如QQ.exe。 进程:动态的,是程序的一次执行过程,如同时执行多次QQ程序。 同一个程序多次执行会对应多个进程。 进程的组成PCB当一个进程被创建时,操作系统产生一个对应数据结构:PCB(Process Control...
解构赋值
解构赋值概述目标:数组或者对象作用:让数组或对象的取值更便捷 数组解构1234567const arr = [11, 22, 33]// let a = arr[0]// let b = arr[1]// let c = arr[2]let [a, b, c] = arrconsole.log(a, b, c) {: height=75%, width=75%} 123456const arr = [11, 22, 33]let [, b, c] = arrconsole.log(b, c)let [a, , d] = arrconsole.log(a, d) {: height=75%, width=75%} 123const arr = [1, [2, 3], 4]let [a, [b, ], d] = arrconsole.log(a, b, d) {: height=75%, width=75%} 对象解构传统方法: 1234567891011const obj = { name:...
进程同步和互斥
...
函数
函数有名函数12function fn(a, b) { return a + b }console.log(fn(1, 2)) 函数表达式12const fn2 = function (a, b) { return a * b}console.log(fn2(1, 2)) 箭头函数12const add = (a, b) => { return a + b }console.log(add(1, 2)) 特性参数只有一个时,可以省略() 1234567const log = arg => { console.log(arg)}log(666)log('223423') 当函数体只有一句话时,可以省略{},此时箭头函数自带返回值功能 12const add = (a, b) => a + bconsole.log(add(1, 2)) 当返回一个对象时,为了简写,需要给对象加() 简写前: 12345678910111213const state...
序列号和反序列化
序列号和反序列化概述在 JavaScript 中,序列化和反序列化是指将对象转换为 JSON 字符串(序列化)和将 JSON 字符串转换回对象(反序列化)的过程。JavaScript 提供了内置的 JSON 对象来处理这些操作。 序列化(Serialization)序列化是将 JavaScript 对象转换为 JSON 字符串的过程。你可以使用 JSON.stringify() 方法来实现这一点。 12345678const obj = { name: "Alice", age: 30, city: "New York"};const jsonString = JSON.stringify(obj);console.log(jsonString); // 输出: {"name":"Alice","age":30,"city":"New...
扩展运算符
扩展运算符概述在JavaScript中,扩展运算符(Spread operator)是一种方便的语法,它允许一个表达式在某些地方展开成多个元素(对于数组)或多个键值对(对于对象)。扩展运算符使用三个连续的点(...)来表示。 用途数组中的扩展运算符在数组中,扩展运算符可以将一个数组展开成其包含的元素,并将这些元素插入到另一个数组中,或者用于函数调用时传递数组元素作为单独的参数。 合并数组 1234const arr1 = [1, 2];const arr2 = [3, 4];const combined = [...arr1, ...arr2];console.log(combined); // 输出: [1, 2, 3, 4] 函数调用时传递数组元素 12345function sum(a, b, c) { return a + b + c;}const numbers = [1, 2, 3];console.log(sum(...numbers)); // 输出: 6 复制数组 12345const arr1 = [11, 22,...
Async和Await
Async和Await概述在JavaScript中,async 和 await 是用于处理异步操作的关键字,它们提供了一种更简洁和易于理解的方式来编写异步代码。与传统的回调函数和Promise相比,async 和 await 使异步代码看起来更像是同步代码,从而提高了代码的可读性和维护性。 async 关键字async 关键字用于声明一个异步函数。这个函数会隐式地返回一个Promise对象。即使你没有在函数内部显式地返回一个Promise,JavaScript引擎也会自动将函数的返回值包装成一个Promise。 123async function myAsyncFunction() { // 这里可以包含同步和异步操作} await 关键字await...
变量和常量
变量和常量概述变量可以重新赋值,而常量不可以 12345678910111213// 变量let name = 'Jack'let age = 18name = 'ycq'age = 20// 常量const PI = 3.14const articleList = []const user = { name: 'vue3', age: 9} 思考 const 声明的数组可以添加或删除吗 const 声明的对象可以添加或者修改吗 可以的,因为数组和对象在JS中属于引用类型,对其做添加、删除等操作,并不改变内存地址。本质上就是修改指针指向的空间。
模版字符串
模版字符串换行12345678910// let name = 'Jack'// let msg = 'hello world'let name = `Jack`let msg = `hello world`// let htmlStr = '<div class="hot-goods-box"><h>热门商品</h><p>炸了</p></div>'let htmlStr = `<div class="hot-goods-box"> <h>热门商品</h> <p>炸了</p> </div>` 变量内嵌12345let name = 'bit'let age = 9// let str = 'My name is '+ name + ', I...
Web存储
Web存储概述Web Storage 包含如下两种机制: sessionStorage 该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。 仅为会话存储数据,这意味着数据将一直存储到浏览器(或选项卡)关闭。 数据永远不会被传输到服务器。 存储限额大于 Cookie(最大5MB)。 localStorage 即使浏览器关闭并重新打开也仍然存在。 存储的数据没有过期日期,只能通过 JavaScript、清除浏览器缓存或本地存储的数据来清除。 localStorage 持久性:localStorage 存储的数据是持久的,即使浏览器关闭或计算机重启,数据仍然存在。 作用域:存储的数据在同源(协议、域名和端口相同)的所有页面和标签页中都是共享的。 容量:通常,每个源(origin)的存储限制为5MB(但可能因浏览器而异)。 123456789101112// 存储数据localStorage.setItem('uname', 'ycq')//...




