摘要: function foo(x,y,z){ console.log(x+y+z) } function webKingCurrying(fn){ function curryFn(...args){ // >这里的...args是剩余参数 //两类操作: //1.第一类操作:继续返回一个新的函数,继续 阅读全文
posted @ 2024-10-21 21:03 韩德才 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 错误处理方案 ◼ 开发中我们会封装一些工具函数,封装之后给别人使用: 在其他人使用的过程中,可能会传递一些参数; 对于函数来说,需要对这些参数进行验证,否则可能得到的是我们不想要的结果; ◼ 很多时候我们可能验证到不是希望得到的参数时,就会直接return: 但是return存在很大的弊端:调 阅读全文
posted @ 2024-10-21 20:54 韩德才 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 面试题一 /* promise1 2 then1 queueMicrotask1 then3 setTimeout1 then2 then4 setTimeout2 */ console.log("script start")//主任务1 setTimeout(function () { conso 阅读全文
posted @ 2024-10-21 20:10 韩德才 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 进程和线程 ◼ 线程和进程是操作系统中的两个概念: 进程(process):计算机已经运行的程序,是操作系统管理程序的一种方式; 线程(thread):操作系统能够运行运算调度的最小单位,通常情况下它被包含在进程中; ◼ 听起来很抽象,这里还是给出我的解释: 进程:我们可以认为,启动一个应用程 阅读全文
posted @ 2024-10-21 17:38 韩德才 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ◼ async关键字用于声明一个异步函数: async是asynchronous单词的缩写,异步、非同步; sync是synchronous单词的缩写,同步、同时; ◼ async异步函数可以有很多中写法 async function foo(){} const foo1 = async fun 阅读全文
posted @ 2024-10-21 17:11 韩德才 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 自动执行generator函数 ◼ 目前我们的写法有两个问题: 第一,我们不能确定到底需要调用几层的Promise关系; 第二,如果还有其他需要这样执行的函数,我们应该如何操作呢? ◼ 所以,我们可以封装一个工具函数execGenerator自动执行生成器函数 <script> // 封装一个请 阅读全文
posted @ 2024-10-21 16:11 韩德才 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 异步处理方案 ◼ 学完了我们前面的Promise、生成器等,我们目前来看一下异步代码的最终处理方案。 ◼ 案例需求: 我们需要向服务器发送网络请求获取数据,一共需要发送三次请求; 第二次的请求url依赖于第一次的结果; 第三次的请求url依赖于第二次的结果; 依次类推; <script> / 阅读全文
posted @ 2024-10-21 15:31 韩德才 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ◼ 生成器是ES6中新增的一种函数控制、使用的方案,它可以让我们更加灵活的控制函数什么时候继续执行、暂停执行等。 平时我们会编写很多的函数,这些函数终止的条件通常是返回值或者发生了异常。 ◼ 生成器函数也是一个函数,但是和普通的函数有一些区别: 首先,生成器函数需要在function的后面加一个 阅读全文
posted @ 2024-10-21 13:56 韩德才 阅读(19) 评论(0) 推荐(0) 编辑
摘要: ◼ 但是上面的代码整体来说看起来是有点奇怪的: 我们获取一个数组的时候,需要自己创建一个index变量,再创建一个所谓的迭代器对象; 事实上我们可以对上面的代码进行进一步的封装,让其变成一个可迭代对象; ◼ 什么又是可迭代对象呢? 它和迭代器是不同的概念; 当一个对象实现了iterable 阅读全文
posted @ 2024-10-21 10:49 韩德才 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 迭代器 什么是迭代器? ◼ 迭代器(iterator),使用户在容器对象(container,例如链表或数组)上遍访的对象,使用该接口无需关心对象的内部实现细节。 其行为像数据库中的光标,迭代器最早出现在1974年设计的CLU编程语言中; 在各种编程语言的实现中,迭代器的实现方式各不相同,但是基 阅读全文
posted @ 2024-10-21 10:32 韩德才 阅读(45) 评论(0) 推荐(0) 编辑
摘要: ◼ 在目前的开发中,JSON是一种非常重要的数据格式,它并不是编程语言,而是一种可以在服务器和客户端之间传输的数据格式。 ◼ JSON的全称是JavaScript Object Notation(JavaScript对象符号): JSON是由Douglas Crockford构想和设计的一种轻量级 阅读全文
posted @ 2024-10-21 09:56 韩德才 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 认识BOM操作 ◼ BOM:浏览器对象模型(Browser Object Model) 简称BOM,由浏览器提供的用于处理文档(document)之外的所有内容的其他对象; 比如navigator、location、history等对象; ◼ JavaScript有一个非常重要的运行环境就是浏览 阅读全文
posted @ 2024-10-21 09:56 韩德才 阅读(10) 评论(0) 推荐(0) 编辑
摘要: window定时器 ◼ 有时我们并不想立即执行一个函数,而是等待特定一段时间之后再执行,我们称之为“计划调用(scheduling a call)”。 ◼ 目前有两种方式可以实现: setTimeout 允许我们将函数推迟到一段时间间隔之后再执行。 setInterval 允许我们重复运行一个函 阅读全文
posted @ 2024-10-21 09:55 韩德才 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 认识事件处理 ◼ Web页面需要经常和用户之间进行交互,而交互的过程中我们可能想要捕捉这个交互的过程: 比如用户点击了某个按钮、用户在输入框里面输入了某个文本、用户鼠标经过了某个位置; 浏览器需要搭建一条JavaScript代码和事件之间的桥梁; 当某个事件发生时,让JavaScript可以相 阅读全文
posted @ 2024-10-21 09:55 韩德才 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 元素的继承 class Student extends Person{} 创建一个Student对象继承自Person对象本身会自带Person的属性并且可以创建属于自己的属性 什么是DOM? ◼ 前面我们花了很多时间学习JavaScript的基本语法,但是这些基本语法,但是这些语法好像和做网页没有 阅读全文
posted @ 2024-10-21 09:53 韩德才 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Date类型的使用 创建Date对象 Date的构造函数有如下用法: // 1. 创建date对象的方式 //没有传入任何参数获取到的是当前时间 var date1 = new Date() console.log(date1) //Wed Aug 28 2024 09:17:12 GMT+080 阅读全文
posted @ 2024-10-21 09:52 韩德才 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 数组Array使用详解 认识数组(Array) ◼ 什么是数组(Array)呢? 对象允许存储键值集合,但是在某些情况下使用键值对来访问并不方便; 比如说一系列的商品、用户、英雄,包括HTML元素,我们如何将它们存储在一起呢? 这个时候我们需要一种有序的集合,里面的元素是按照某一个顺序来排列的 阅读全文
posted @ 2024-10-21 09:52 韩德才 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 字符串类型String String类的补充(一)- 基本使用 ◼ 在开发中,我们经常需要对字符串进行各种各样的操作,String类提供给了我们对应的属性和方法。 ◼ String常见的属性: length:获取字符串的长度; ◼ String也有很多常见的方法和操作,我们来进行学习。 ◼ 操作一 阅读全文
posted @ 2024-10-21 09:51 韩德才 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 数学对象Math ◼ 在除了Number类可以对数字进行处理之外,JavaScript还提供了一个Math对象。 Math是一个内置对象(不是一个构造函数),它拥有一些数学常数属性和数学函数方法; ◼ Math常见的属性: Math.PI:圆周率,约等于3.14159; ◼ Math常见的方法: 阅读全文
posted @ 2024-10-21 09:51 韩德才 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 数字类型Number ◼ 前面我们已经学习了Number类型,它有一个对应的数字包装类型Number,我们来对它的方法做一些补充。 ◼ Number属性补充:  Number.MAX_SAFE_INTEGER:JavaScript 中最大的安全整数 (2^53 - 1);  Number.MIN 阅读全文
posted @ 2024-10-21 09:50 韩德才 阅读(2) 评论(0) 推荐(0) 编辑