- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 Node 常用基本内置模块
1-5 基本内置模块osEOL· 是用于结束时的分隔符,由于不同的操作系统是不一样的,所以有这么一个模块arch()· 通常是指架构名cpus() (常用)· 获取cpu的每一个核的信息,他是一个数组,我们平时一般用于他有多少个cpu内核freeman()· 他是得到我们当前还有多少空闲的内存,显示出来的都是字节homedir() (常用)· 用于获取用户目录的hostname()获取我的主机名tmpdir() (常用)· 用于保存一些临时的文件pathbasena
2020-11-16 10:05:56
263
原创 Node模块化细节
1-3 Node模块化的细节模块的查找绝对路径· 根据绝对路径直接加载模块相对路径./或../· 相对于当前模块· 转换为绝对路径· 加载模块相对路径 · 两种写法相当于在node_modules中导入模块是不需要加./ ../的· 检查是否有内置模块, 如 fs pash· 检查当前目录中的node_modules· 检查上级目录中的node_modules· 转换为绝对路径· 加载模块关于后缀· 如果不提供后缀名自动补全· js json node mjs关于文
2020-11-14 08:48:08
170
原创 Node 全局对象 global _dirname filename Buffer process 详细介绍
1-2 Node 全局对象 globasetTimeout· 功能与javascript是完全一样的,唯一不同的是返回的不是一个数字了,在Node里面返回的是一个对象setIntrval· 功能与javascript是完全一样的,唯一不同的是返回的不是一个数字了,在Node里面返回的是一个对象setImmediateconsole_dirnamefilenameBufferprocess...
2020-11-13 09:44:18
293
原创 node 概述 Node是什么 能用Node干什么
1.1 node概述什么是nodenode是一个JS运行环境浏览器也是一个运行环境,JS代码写好之后需要放到浏览器里面去运行,脱离了浏览器是没有办法运行的,现在不仅浏览器能运行JS,Node也能运行Js。他比浏览器拥有更多能力浏览器中的JSJavascript 能写Ecmascript (例如es6,es7,es2016 …)和Ecmascript i (dom操作,bom 操作 …)Web Api 提供了操作窗口的能力BOMDOMAJAX这种能力是非常有限的
2020-11-11 08:40:21
21472
2
原创 ES6 模块化! 必!备!知!识! (精华帖)
ES6模块化简介ECMA组织参考了众多社区模块化标准,终于在2015年,随着ES6发布了官方的模块化标准,后成为ES6模块化ES6模块化具有以下的特点使用依赖预声明的方式导入模块依赖延迟声明优点:某些时候可以提高效率缺点:无法在一开始确定模块依赖关系(比较模糊)依赖预声明优点:在一开始可以确定模块依赖关系缺点:某些时候效率较低灵活的多种导入导出方式规范的路...
2020-04-16 21:52:53
202
原创 Property Descriptor 属性描述符详解
属性描述符Property Descriptor 属性描述符 是一个普通对象,用于描述一个属性的相关信息通过Object.getOwnPropertyDescriptor(对象, 属性名)可以得到一个对象的某个属性的属性描述符value:属性值configurable:该属性的描述符是否可以修改enumerable:该属性是否可以被枚举writable:该属性是否可以被重新赋值...
2020-04-13 17:02:39
736
原创 ES6 map集合
map集合键值对(key value pair)数据集合的特点:键不可重复map集合专门用于存储多个键值对数据。在map出现之前,我们使用的是对象的方式来存储键值对,键是属性名,值是属性值。使用对象存储有以下问题:键名只能是字符串获取数据的数量不方便键名容易跟原型上的名称冲突如何创建mapnew Map(); //创建一个空的mapnew Map(itera...
2020-04-13 11:22:11
247
原创 ES6 set集合应用
set 集合一直以来,JS只能使用数组和对象来保存多个数据,缺乏像其他语言那样拥有丰富的集合类型。因此,ES6新增了两种集合类型(set 和 map),用于在不同的场景中发挥作用。set用于存放不重复的数据如何创建set集合 new Set(); //创建一个没有任何内容的set集合 new Set(iterable); //创建一个具有初始内容的set集合,内容来自于可迭代...
2020-04-13 10:57:53
196
原创 ES6 生成器 生成器应用----异步任务控制
生成器 (Generator)什么是生成器:生成器是一个通过构造函数Generator创建的对象,生成器既是一个迭代器,同时又是一个可迭代对象2.如何创建生成器?生成器的创建,必须使用生成器函数(Generator Function)如何书写一个生成器函数呢?要将*放到函数关键字后面或者函数名前面 function *metod() { } function* me...
2020-04-10 12:32:25
178
原创 ES6 迭代器 可迭代协议 与 for-of 循环 (详解)
迭代器背景知识1.什么是迭代?从一个数组集合中按照一定的顺序,不断取出数据的过程2.迭代和遍历的区别?迭代强调的是依次取数据并不保证去多少,也不保证把所有的数据取完便利强调的是要把整个数据依次全部取出3.迭代器对迭代过程封装,在不同语言中的表现形式,通常为对象4.迭代模式是一种设计模式,用于统一迭代过程,并规范了迭代器规格:迭代器应该具有得到下一个数据的能力迭代...
2020-04-10 11:08:35
195
原创 HTML5 新增Api ''Fetch Api'' (详细概括)
Fetch Api 概述XMLHttpRequest的问题所有的功能全部集中在同一个对象上,容易书写出混乱不易维护的代码采用传统的事件驱动模式,无法适配新的 Promise ApiFetch Api 的特点并非取代 AJAX,而是对 AJAX 传统 API 的改进精细的功能分割:头部信息、请求信息、响应信息等均分布到不同的对象,更利于处理各种复杂的 AJAX 场景使用 Prom...
2020-04-09 23:49:27
401
原创 ES6 Promise基本使用,串联,其他API(详解)
Promise的基本使用const pro = new Promise((resolve, reject)=>{ // 未决阶段的处理 // 通过调用resolve函数将Promise推向已决阶段的resolved状态 // 通过调用reject函数将Promise推向已决阶段的rejected状态 // resolve和reject均可以传递最多一个参数,...
2020-04-09 23:31:56
486
原创 ES6 异步处理的通用模型 学习Promise之前一定要理解的部分
8-2. 异步处理的通用模型ES官方参考了大量的异步场景,总结出了一套异步的通用模型,该模型可以覆盖几乎所有的异步场景,甚至是同步场景。值得注意的是,为了兼容旧系统,ES6 并不打算抛弃掉过去的做法,只是基于该模型推出一个全新的 API,使用该API,会让异步处理更加的简洁优雅。理解该 API,最重要的,是理解它的异步模型ES6 将某一件可能发生异步操作的事情,分为两个阶段:unsett...
2020-04-08 07:21:51
339
5
原创 事件循环 执行栈 异步 缺陷 原理 (详解) (精华帖)
事件循环JS运行环境称为宿主环境。JS运行的环境我们叫做数组环境,为神么我们要这样说呢是因为我们的目前的整个前端里面JS代码也就是ES标准代码它不仅能够运行在浏览器它还能够运行在服务器,比如说node.js,也可以运行在客户端,也可以运行在移动端,所以我们吧以前的那种刻板印象应该去掉了,他能够运行在各种环境里面,你只要给它配备了相关的js执行引擎,我们学的ES6其实是语言本身里面的东西,因为是...
2020-04-05 19:15:49
251
原创 ES6 对象解构 数组解构 参数解构
对象的解构什么是解构使用ES6的一种语法规则,将一个对象或数组的某个属性提取到某个变量中解构不会对被解构的目标造成任何影响 const user = { name: 'abc', age: '14', sex: '男', address: { province: '河北', city: '沧州' } } //当我们需要调用其中的属性的时候 let ...
2020-03-17 07:48:02
521
原创 ES6 面向对象 最最最全 ' 类 ' 的讲解 (超详细篇) (精华帖)
ES6 面向对象简介面向对象:面向对象不是一种编程语言,他是一种编程思想,跟具体的语言无关对比面向过程:面向过程:思考的切入点是功能的步骤面向对象:思考的切入点是对象的划分面向对象不是说,我写的程序里面有对象就是面向过程,比如说C语言,他也能模拟出一个类似于对象的结构体,并不是说他不能有对象而是说他思考的切入点是步骤而是从这个角度来思考程序的。我们来拿把大象装进冰箱来举栗子当我们...
2020-03-05 20:17:37
765
原创 ES6 Object的新增 API
ES6 Object的新增 APIObjext.is用于判断两个对象是否相等,这其实是一个历史遗留问题,在原来当我们判断相等的时候,会发生一些怪异的现象,那么能不能解决这些问题呢,可以是可以但是老版本的浏览器不太会兼容这些改动,所以不得不这样。 //在我们面临这些问题时就会有一定问题 console.log(NaN === NaN);//flase console.log(+0 ==...
2020-03-01 19:21:42
462
原创 ES6 箭头函数
箭头函数箭头函数改变了this指向多年来的问题回顾:this通过对象调用函数,this指向对象直接调用函数,this指向全局对象通过new调用函数,this指向新创建的对象通过apply,call,bind调用函数,this指向指定的数据DOM事件函数,this指向事件源让我们来举个栗子 //首先我们创建一个对象 const obj = { count : 0,//声...
2020-03-01 10:24:17
298
原创 ES6 明确函数的双重用途
明确函数的双重用途在很多情况下当我们调用一个函数时,需要new来调用而不用new来调用的话会出现很多问题,比如this指向问题等等。而在以前的语法当中我们无法判断其调用时是否使用new来调用,一般情况下我们通常用if判断它原型链上的指向是否有自身来判断,不但有些麻烦而且还并不是特别完善。所以ES6提供了一个特殊的API,可以使用该API在函数内部,判断该函数是否使用了new来调用 new....
2020-02-29 16:44:27
233
原创 ES6参数默认值 参数默认值对arguments的影响 暂时性死区
参数默认值一般情况下,在函数传递参数时,会将参数全部传入,而很多情况下在参数变多的时候有些时候就会变得麻烦起来,而很多种情况下有一大部分参数都是不会变的,因为既要保证灵活性,同时又要方便的调用这样就在ES6中引入了一个新的概念:参数默认值。在之前我们要完成这样一个默认值的方法需要些很多的代码比较麻烦,而在ES6中书写形参时直接给形参赋值,赋的值即为默认值。这样一来当调用函数时,如果没有给对应...
2020-02-29 01:07:07
620
原创 ES6 模板字符串 模板字符串标记 概述
模板字符串ES6之前处理字符串繁琐的两个方面多行字符串 var text = '红红火火恍恍惚惚'//这是一个正常声明的字符串 //如果我们要换行怎么办 var text = '红红火火恍\n恍惚惚'//一般我们是直接加一个/n var text = '红红火火\ 恍恍惚惚' //或者加一个反斜杠也可以换行 //再或者 var txet = [ '红红火火'...
2020-02-28 13:24:37
893
原创 ES6 正则表达式中的粘连标记
正则表达式中的粘连标记标记名: y含义: 匹配时,完全按照正则对象中的LastIndex位置开始匹配,并且匹配位置必须在LastIndex位置什么意思呢,我们来看看 const text = 'Hello World!!!'; const reg = /W\w+/;//用正则表达式进行匹配 console.log(reg.test(text)) //此时返回结果是ture是能匹配到的...
2020-02-27 11:20:49
946
原创 ES6更多的字符串的API
更多的字符串API以下均为字符串的实例(原型)方法incLudes判断字符串中是否包含指定的字符串,还可以同时传多个字符串但不可分开查找,且可传第二个值,作用是传入数字从第几位开始截取查找 //声明字符串 const text = '成哥是个狠人'; const result = text.includes('狠');//查找字符串中有没有这个字 console.log...
2020-02-27 10:46:22
240
1
原创 ES6中Unicode的改动 正则和字符串的变动 codePointAt
ES6中Unicode的改动早期,由于储存空间宝贵,Unicode使用16位二进制来储存文字,我们将一个16位的二进制编码叫做一个码元(Code Unit)。后来由于技术的发展,Unicode对文字编码进行了扩展,将某些文字扩展到了32位(占用两个码元),并且,将某个对应的二进制数字叫做码点(Code Point)。 //此时就产生了一个问题 //在这里我写了一个字符串这个字是一个生僻字...
2020-02-26 22:33:54
372
1
原创 ES6 const概述,声明常量
使用const声明常量const和let完全相同,仅在用const声明的变量,必须在声明时赋值,而且不可以重新赋值。const是一个不会变化的常量实际上,在开发中,应该尽量使用const来声明变量,以保证变量的值不会被随意篡改。1.根据经验,在开发中的很多变量,都是不会更改的,也不应该更改的2.后续的很多框架或者是第三方JS库,都要求数据不变,使用常量可以一定程度上保证这一点。注意...
2020-02-26 15:32:31
525
原创 ES6Let简介 使用Let声明变量好处
使用Let声明变量ES6不仅引入了let关键字用于解决变量声明的问题,同时引入了块级作用域的概念。块级作用域:代码执行时遇到花括号{,会创建一个块级作用域、花括号}结束,销毁块级作用域 let a = 123;//全局作用域定义 { let a = 456;//然后定义块级作用域 console.log(a)//使用的时块级作用域中的a } ...
2020-02-25 15:40:50
1052
原创 一键生成轮播图 banner 插件 代码
一键生成轮播图这是我做的一个小demo还不是特别完善输入图片路径生成轮播图其他的样式选填实现功能:自动轮播左右按钮交互可切换自动适配大小(根据目标div)一键生成下面的切换的点点0.0(可切换轮播图)在切换时不可点击外层div可设置大小会根据目标div自动适配,同时可设置圆角、居中等样式默认溢出隐藏一张图片也可以进行左右轮播插入图片无上限每张图片都可插入网址可以直接复制下...
2020-02-25 09:43:25
1002
原创 ES6简介概述
1.ECMAScript、JavaScript、NodeJs、他们的区别是什么?ECMAScript:简称ES是一个语言标准(循环、判断、变量、数组等数据类型)JavaScript:运行在浏览器端的语言、该语言使用ES标准。 ES + Web API = JavaScriptNodeJs:运行在服务器端的语言,该语言使用ES标准。 ES + Node API = JavaScript无...
2020-02-23 14:02:25
511
1
原创 DOCTYPE有什么作用?标准模式与混杂模式如何区分?它们有何意义?
一、Doctype作用是什么?声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。二、严格模式与混杂模式如何区分?它们有何意义?严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。如何区...
2020-02-21 09:40:10
1497
原创 JS 引用类型与值类型的区别?
引用类型与值类型的区别?1值类型变量: 变量的交换等于在一个新的作 用域创建一个新的空间,新空间与之前的空间互 不相关和影响。2变量的交换: 并不会创建一个新的空间,而 是让对象或方法和之前的对象或方法,同时指向 —个原有空间(即一个地址)。 值类型 引用类型:对象、数组、函数; 值类型:数值、布尔值、null、undefined、字符 串。左变右也变·当左面的aa...
2020-02-20 20:53:12
1859
一键生成轮播图代码插件
2020-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人