![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
node
文章平均质量分 71
Three_ST
学习者
展开
-
JavaScript进阶之事件处理-Eventloop(微任务,宏任务,promise,async,await)
Javascript 之 Event Loop1^在JavaScript中,任务被分为两种,一种宏任务(MacroTask)也叫Task,一种叫微任务(MicroTask)。事件流事件流描述的是从页面中接受事件的顺序,事件 捕获阶段 处于目标阶段 事件冒泡阶段 addeventListener 最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序。1、事件捕获阶段:实际目标div在捕获阶段不会接受事件,也就是在捕获阶段,事件从docum转载 2022-05-02 09:53:59 · 255 阅读 · 0 评论 -
JavaScript学习之原型链-Prototype&_proto_原型链与构造函数之间的关系
JavaScript原型链相关原型链构造函数是什么、它做了什么初始化规则特例原型链是什么原型链的终点: Object.prototype原型链用来做什么?扩展原型/构造函数/实例参考链接原型链__proto__和Object.getPrototypeOf(target): 对象的原型__proto__是对象实例和它的构造函数之间建立的链接,它的值是:构造函数的`prototype。也就是说...原创 2019-11-25 11:38:24 · 343 阅读 · 1 评论 -
JavaScript之字符串常用函数与方法
String字符串常见操作charAt(x)charCodeAt(x)concat(v1,v2…)fromCharcode(c1,c2)indexOf(substr, [start])lastIndexOf(substr, [start])match(regexp)replace(regexp/substr, replacetext)search(regexp)slice(start, [end])split(delimiter, [limit])substr(start, [l转载 2021-10-31 19:53:45 · 145 阅读 · 0 评论 -
JavaScript之可能会用到的二十个小技巧
1.一句代码实现多维数组扁平化const arr = [1, 2, 3, [4, [5, 6, [7,8]]]];// 方式1:console.log(arr.flat(Infinity));// 方式2:console.log(arr.join().split(','));// 方式3:console.log(arr.toString().split(','));// 在查阅资料中,博主发现原来join()、toString()函数式可以跨越层级的,于是便有了方式2、 3参考链接ht原创 2021-10-29 22:31:30 · 643 阅读 · 0 评论 -
JavaScript基础之实现部分原生与有趣的api(一)
JS实现原生api::: tipES5实现map()方法Array.prototype.MyMap = function(fn,context){ var arr = Array.prototype.slice.call(this); //es5 不需要用...展开 var mappedArr = []; for(var i =0;i<arr.length;i++){ if(!arr.hasOwnProperty(i))continue;原创 2021-10-28 23:17:12 · 310 阅读 · 0 评论 -
JavaScript基础-防抖与节流实现及其使用
防抖与节流函数是一种最常用的 高频触发优化方式,能对性能有较大的帮助。防抖 (debounce):将多次高频操作优化为只在最后一次执行,通常使用的场景是:用户输入,只需再输入完成后做一次输入校验即可。立即防抖触发事件后函数会立即执行,然后n秒内不触发事件才会执行函数的效果function debounce(fn,wait){ let timeout = null; let context = this; let args = arguments; return fu原创 2021-09-26 22:44:18 · 89 阅读 · 0 评论 -
JavaScript 基础之 关于js中的Array.sort()的使用
这里写自定义目录标题怪异行为怪异行为Array.sort((a,b)=>{a - b});在Chrome和Firefox下面执行的结果有些不一致chrome edgeconst months = ['March', 'Jan', 'Feb', 'Dec'];months.sort();console.log(months);// expected output: Array ["Dec", "Feb", "Jan", "March"]const array1 = [1, 30原创 2021-09-17 21:52:56 · 658 阅读 · 0 评论 -
手写JavaScript之实现一个EventBus
EventBus是消息传递的一种方式,基于一个消息中心,订阅和发布消息的模式。设计模式:订阅者发布者模式API设计只能构造一个消息对象on(‘msgName’,func)订阅消息, msgname订阅的消息名称;func订阅的消息one(‘msgName’,func)经订阅一次消息,后订阅的会替换前面订阅的消息emit(‘msgname’,msg)发布消息 msgName;消息名称 msg:发布的消息off('msgName)移除消息代码实现//构造EventBusEventBusC原创 2021-08-31 20:41:10 · 211 阅读 · 0 评论 -
node.js 安装与环境变量配置
Node.jsNode.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!Node.js 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使 Node.js 表现得非常出色。Node.js 应用程序运行于单个进程中,无需为每个请求创建新的线程。 Node.js 在其标准库中提供了一组异步的 I/O 原生功能(用以防止 JavaScript 代码被阻塞),并且 Node.js 中的库通常是使用非阻塞的范式编写原创 2021-01-10 13:19:01 · 994 阅读 · 0 评论 -
JavaScript学习之webWorker知识学习
WebWOrker::: tip概述Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。这样的好处是,一些计算密集型或高延迟的任务,被 Worker 线程负担了,主线程(通常负责 UI 交互)就会很流畅,不会被阻塞或拖慢。Worker 线程一旦新建成功,就会始终运行,不会被主线程上的活动(比如原创 2020-11-28 21:50:26 · 293 阅读 · 0 评论 -
JavaScript学习之ES6-proxy知识学习二(has/this/ownKeys)
本文主要来自 阮一峰《ECMAScript6 入门》has()has()方法用来拦截 HasProperty 操作,即判断对象是否具有某个属性时,这个方法会生效。典型的操作就是 in 运算符。has()方法可以接受两个参数,分别是目标对象、需查询的属性名。使用 has()方法隐藏某些属性,不被 in 运算符发现。var handler = { has(target, key) { if (key[0] === "_") { return false; } r转载 2020-11-24 22:24:58 · 685 阅读 · 0 评论 -
JavaScript学习之ES6-proxy知识学习一(get/set/apply)
proxy主要参考 阮一峰大神的《ECMAScript6 入门》概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。var obj = new Proxy( {原创 2020-11-23 22:49:45 · 789 阅读 · 0 评论 -
JavaScript学习之ES6-genertor知识学习(特性与用法)
Generator看一个例子function* foo(){ yield 'result1' yield 'result2' yield 'result3'}const gen = foo()console.log(gen.next().value) // result1console.log(gen.next().value) // result2console.log(gen.next().value) // result3ES5下如何实现generator原创 2020-11-16 22:17:41 · 1307 阅读 · 0 评论 -
JavaScript学习之ES6-async/await学习
async/awaitES2017 提出的async 函数,终于让 JavaScript 对于异步操作有了终极解决方案。No more callback hell。async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。想较于 Generator,Async 函数的改进在于下面四点:内置执行器。Generator 函数的执行必须依靠执行器,而 Aysnc 函数自带执行器,调用方式跟普通函数的调用一样;更好的语义。a原创 2020-11-15 20:09:34 · 90 阅读 · 0 评论 -
nestjs+mongodb项目 centos服务器部署踩坑
项目服务器部署nestjs打包由于nestjs在本地打包运行是没有问题的,但是按照正常的npm run build 发布到服务器的时候就会报组件不存在的问题,尝试了调整组件位置等方法,主要是由于打包后的文件指向的是相对本机的目录,但是服务器上面环境和本机不一样,于是想到在服务器上面打包项目,#在项目目录执行npm run build# 然后在dist目录执行以下命令node main更好的方式是使用pm2 管理node.js项目mongodb设置database.provider.ts原创 2020-08-31 21:51:07 · 904 阅读 · 0 评论 -
人脸识别应用初探-微软人脸识别在线SDK使用
微软人脸识别SDK使用官方教程微软Azure中包含了一些人工智能的相关组件,通过webapi请求的方式获取数据,下面是几个例子documentJQuery Web<!DOCTYPE html><html><head> <title>Detect Faces Sample</title> <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery原创 2020-05-27 20:41:09 · 3526 阅读 · 0 评论 -
JavaScript学习之ES6-async\await 异步
async/awaitES2017 提出的async 函数,终于让 JavaScript 对于异步操作有了终极解决方案。No more callback hell。async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。想较于 Generator,Async 函数的改进在于下面四点:内置执行器。Generato...原创 2020-03-31 23:13:18 · 158 阅读 · 0 评论 -
MongoDB的配置与连接-C#与JavaScript
在MongoDB的官网下载MongoDB官网文档比较详细的介绍了操作,但是在使用中安装好MongoDB后,默认的db指向的是C盘,实际使用可能会切换位置我是设置的D盘,在D盘新建文件件,在命令行中设置数据库位置mongod --dbpath D:\data\db设置好截图如下:1.C#连接MongoDB可以参考该链接http://mongodb.github.io/m...原创 2020-03-04 10:59:01 · 271 阅读 · 0 评论 -
Node.JS 报错总结
问题一:遇到“XX”既不是内部命令也不是可以运行的程序解决办法:在环境变量下平配置Node.js的安装目录,主要是node.exe和node.cmd文件的所在位置,网上有大神的教程说明如何去配置。贴个网址网址2实测有效问题二:npm ERR! cb() never called!解决办法:在当前目录用管理员身份运行,...原创 2018-05-24 09:15:13 · 2256 阅读 · 0 评论