自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Node:常用的Gulp插件及使用方法

常用的Gulp插件:gulp-htmlmin:html文件压缩gulp-csso:压缩cssgulp-babel:javascript语法转化gulp-less:less语法转化gulp-uglify:压缩混肴javascriptgulp-file-include:公共文件包含browsersync:浏览器实现同步如何使用插件?1.通过npm命令先下载插件2.在gulpfile.js文件中引入该插件3.调用该插件即可...

2021-07-29 17:18:49 213

原创 Node:第三方模块Gulp,Gulp的作用是什么?如何使用?Gulp中提供的方法

Gulp是基于node平台开发的前端构建工具。将机械化操作编写成任务,想要执行机械化操作时执行一个命令行命令任务就能能自动执行了,提高开发效率。Gulp能做什么?项目上线,HTML CSS JS文件压缩合并语法转换(ES6 Less)公共文件抽离(如果公共文件有变化,只需要修改抽取出来的文件即可)修改文件后浏览器自动刷新Gulp的使用方法:使用 npm install gulp 下载gulp库文件(库文件本地安装即可)在项目根目录下建立gulpfile.js文件(gulp硬性要求的)

2021-07-28 13:33:38 558

原创 Node:第三方模块nodemon

nodemon是一个命令行工具,用以辅助项目开发。在Node.js中,每次修改文件都要在命令行工具中重新执行该文件,很繁琐。而第三方模块nodemon就可以帮助我们解决该问题,它可以监控文件的保存操作,当文件发生保存操作时,就会重新执行。使用步骤:使用npm install nodemon -g 下载即可(nodemon是第三方模块的名字,-g表示全局安装)在命令行工具中使用nodemon命令替代node命令执行该文件即可如果不想使用这个模块,可以按住ctrl+c键即可,会提示是否要终止操作

2021-07-27 22:07:01 726

原创 Node:什么是第三方模块及第三方模块的获取方法

第三方模块是别人写好的、具有特定功能的,可以直接使用的模块,由于第三方模块通常都是由多个文件组成且北放置在一个文件夹中,所以又名为包。第三方模块有两种存在形式:以js文件的形式存在,提供实现项目具体功能的API接口以命令行工具形式存在,辅助项目开发获取第三方模块:npm:node的第三方模块管理工具下载方法:在命令行工具中输入:npm install 模块名称例如,下载一个formidable模块,formidable模块是用来上传文件的(只要下载过程中没有出现红色字体,就说明下载成功了)

2021-07-27 13:26:57 313

原创 Node:相对路径和绝对路径

大多数情况下我们使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录,比如在文件读取操作的API中,我们写相对路径,它相对的是命令行工具中的当前工作目录在读取文件或设置文件路径时一般都会选择绝对路径使用__dirname获取当前文件所在的绝对路径命令行工具所处目录和文件所处目录为同一目录下的代码示例:// 导入系统模块fsconst fs = require('fs');// 读取文件操作// 此时命令行工具所在的目录是JS文件,而node2.js也在JS目录下,处于的是同一个.

2021-07-26 13:30:42 1661

原创 Node运行环境提供的API(系统模块),path路径操作

为什么要进行路径拼接?不同操作系统的路径分隔符不统一,路径分隔符就是路径中文件夹与文件夹之间的分隔符/public/uploads/imagesWindows系统是 \ 和 /Linux系统是 /关于路径拼接,系统模块path会在内部判断当前使用的操作系统是什么,然后使用操作系统对应的路径分隔符进行拼接。路径拼接语法:所有参数都是路径path.join('路径','路径',...);简单代码示例:// 导入path系统模块const path = require('path');

2021-07-25 09:17:42 122

原创 Node:Node运行环境提供的API(系统模块),fs文件操作

什么是系统模块?就是Node运行环境提供的API,因为这些API都是以模块化的方式进行开发的,所以又称Node运行环境提供的API为系统模块。系统模块:fs文件操作:文件模块(fs)可以读取文件、写入文件和创建文件。读取文件使用方法:const fs = require("fs");// 然后就可以读取文件内容了fs.reaFile("文件路径+文件名称",["文件编码"],callback);代码示例;// 引入fs文件模块const fs = require('fs');// 通

2021-07-24 13:39:13 161

原创 Node:node模块化开发--导出和导入

Node.js规定一个js文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到。因此在模块内部可以使用exports对象进行成员导出,使用require方法导入其他模块。// 以下代码存放在Untitled-node.js文件中// 在模块内部定义了一个num变量let num = 10;// 在模块内部定义了一个fn方法const fn = ele => '我是一个箭头函数';// 在模块内部定义了一个求和的函数const sum = (s1,s2) => s

2021-07-23 13:18:36 931

原创 Node:Node的组成和基础语法的使用

Node组成Node.js由ECMAScript及Node环境提供的一些附加API组成,包括文件、网络、路径等一些更强大的API。Node基础语法所有ECMAScript语法在Node环境中都可以使用。

2021-07-22 13:26:55 321

原创 ES6:Set数据结构的使用方法及使用set数组去重

ES6提供了新的数据结构Set,类似于数组,但成员的值都是唯一的,没有重复的值,因此可以利用Set去重。Set本身是一个构造函数,用来生成Set数据结构,使用时可以直接new Set()进行使用。// Set函数可以接收一个数组作为参数,用来初始化// Set函数中有一个size属性,表示存放了几个内容const a = new Set([1,2,3]);console.log(a.size); // 输出3,因为存放了3个内容1 2 3const a2 = new Set();consol

2021-07-21 13:22:09 1412

原创 ES6:ES6的内置对象String字符串的扩展方法

模板字符串:ES6新增了创建字符串的方式,使用反引号来定义``。声明一个模板字符串:let name = `我是一个模板字符串`;console.log(name); // 和普通字符串一样可以输出内容模板字符串的特点:1.模板字符串可以解析变量// 普通字符串需要拼接,而模板字符串直接使用${}就可以let name = `Alice`;let sayHello = `大家好,我叫${name}`;console.log(sayHello); // 输出:大家好,我叫Alice2

2021-07-20 13:14:58 133

原创 ES6:ES6的内置对象Array数组的扩展方法

Array数组的扩展方法扩展运算符:可以将数组或对象转为用逗号分隔的参数序列,正好和剩余参数相反。// 数组中的,逗号会被当作方法的参数分隔符let ary = ["a","b","c","d"];console.log(...ary); // 输出结果为a b c d扩展运算符也可以应用与合并数组。第一种方法合并数组:let arr1 = [1,2,3]; // 拆分为1,2,3let arr2 = [4,5,6]; // 拆分为4,5,6let newArr = [...arr1,.

2021-07-19 13:10:57 431

原创 ES6:ES6中的剩余参数

剩余参数语法允许我们将一个不定数量的参数表示为一个数组。也就是当函数的实参个数大于形参个数时,可以将剩余的实参放到一个数组中。简单代码示例: // 普通写法,不使用arguments和剩余参数,s1存的是10,s2存的是20,实参30不会被形参接收 function sum(s1,s2){ console.log(s1); // 10 console.log(s2); // 20 } sum(10,20,30); // 使用

2021-07-18 09:05:24 235

原创 ES6:箭头函数的特点及this问题

箭头函数是用来简化函数定义语法的:// 如下就是一个箭头函数const fn = () => { console.log(123);}fn();1.在箭头函数中,如果{}函数体只有一句代码,且代码的执行结果就是函数的返回值,函数体大括号{}可以省略不写。 const fn = (x,y) => { return x+y; } console.log(fn(1,3)); // 4

2021-07-16 13:09:10 277

原创 ES6:解构赋值(数组解构、对象解构)

解构赋值:解构代表分解数据结构,赋值指的是为变量赋值。ES6中允许从数组中提取值,按照对应位置,对变量赋值。对象也可以实现解构。数组解构:我们要将数组中的值解构出来,赋值给另外的变量,数组解构允许我们按照一一对应的关系从数组中提取值,然后把值赋值给变量。简单代码示例:// 此时=左边的[]不代表数组,代表的是解构let [a,b,c] = [1,2,3]console.log(a,b,c); // 输出1,2,3// 相当于没有为c赋值let [a,b,c] = [1,2]

2021-07-15 13:02:32 339

原创 ES6:ES6新增语法:const常量关键字

const的作用:声明常量,常量就是值(内存地址)不能变化的量,也就是const的值不可更改,且const声明的变量也就有块级作用域的特性。简单代码示例:if(true){ const a = 10; console.log(a); // 10}console.log(a); // 报错,a未定义...

2021-07-14 13:18:14 268

原创 ES6:ES6中的新增语法:let关键字

1.let声明的变量只在所处区域的块级有效,比如在if(){}语句的大括号内声明了一个变量:let num = 10; 那么在if(){}语句的大括号外面是无法访问到num变量的,非要访问只会报错。简单代码示例:// let关键字就是用来声明变量的if(true){ let num = 10; if(true){ let per = 000; } console.log(per); // 也会报错}console.log(num); // 报错

2021-07-13 13:24:23 264

原创 JS:正则表达式中的替换 replace(内容包含匹配模式)

replace()方法可以实现替换字符的操作,用来替换的参数可以是字符串或正则表达式。语法格式:// 第一个参数:被替换的可以是字符串也可以是正则表达式// 第二个参数:替换为新的字符串// 它返回的值是一个替换完的新字符串,需要接收过来str.replace(reg/str,ele);字符串替换代码示例: // 字符串中的替换replace var str = "孙悟空和唐僧"; // 把孙悟空替换为了猪八戒 var news

2021-07-13 13:06:34 16389

原创 JS:正则表达式中的预定义类(包含小案例)

预定义类指的是某些常见模式的简写方式。预定义类 说明 \d 匹配0-9之间任意数字,相当于[0-9] \D 匹配所有0-9以外任意字符,相当于[^0-9] \w 匹配任意字母、数字和下划线,相当于[A-Za-z0-9_] \W 匹配除所有字母、数字和下划线以外的任意字符,相当于[^A-Za-z0-9_] \s 匹配空格(包括换行符、制表符、空格等),相当于[\t\r\n\v\f] \S 匹配除非空格的字符,相当于[^\t\r\n\v\f]

2021-07-12 13:03:57 267

原创 JS:正则表达式中的量词符

量词符用来设定某个模式出现的次数。量词 说明 * 重复0次或多次 + 重复1次或多次 ? 重复0次或1次 {n} 重复n次 {n,} 重复n次或多次 {n,m} 重复n到m次 简单代码示例: // * 允许出现0次或多次 var reg = new RegExp(/^a*$/); console.log(reg.test("a")); // true

2021-07-09 13:06:44 457

原创 JS:正则表达式中的特殊字符(边界符、[]、-、())

一个正则表达式可以由简单字符构成,比如/abc/或/123/,也可以是简单和特殊字符的组合,比如/ab*c/或/^abc/。其中,特殊字符也被称为元字符,在正则表达式中具有特殊意义的专用符号,如:^,$,+等。1.边界符边界符 说明 ^ 表示匹配行首的文本(以谁开头) $ 表示匹配行尾的文本(以谁结束) 简单代码示例:// 正则表达式中//内不需要加引号,不管是字符型还是数字型// ^abc表示要以abc开头var reg = /^abc/;console.

2021-07-08 20:43:43 2198

原创 JS:正则表达式的特点及使用方法

正则表达式是用于匹配字符串中字符组合的模式,在JS中,正则表达式也是对象。正则表达式通常被用来检索、替换符合某个模式(规则)的文本,例如验证表单,或过滤掉页面内容中的一些敏感词等。正则表达式的特点:1.灵活性、逻辑性和功能性非常强2、可以迅速地用简单的方式达到字符串的复杂控制...

2021-07-08 13:24:35 238

原创 JS:浅拷贝和深拷贝

浅拷贝如果遇到的是对象数据,拷贝过来的只是内存地址。代码示例:<script> var obj = { id:1, name:"孙悟空", age:14, info:{ address:"花果山" } } var o1 = {}; for(var k in obj){

2021-07-07 13:10:46 382

原创 JS:什么是递归?(递归小练习)

一个函数在内部自己调用自己,那么这个函数就是递归函数。递归函数的作用其实和循环效果一样。循环最怕遇到的是死循环,而递归也很容易发生“栈溢出”的错误,所以必须要加推出条件return。<script> // 会发生栈溢出的错误 function fun(){ fun(); } fun();</script>为递归函数添加return退出条件<script>

2021-07-05 12:58:39 350

原创 JS:闭包的案例:利用闭包的方式得到每个当前li的索引号

<ul> <li>苹果</li> <li>香蕉</li> <li>李子</li> <li>火龙果</li> <li>榴莲</li> </ul> <script> var lis = document.querySelector("ul").querySelectorAll("li"); /.

2021-07-01 21:39:58 154

原创 JS:什么是闭包closure,闭包的作用是什么?

闭包是指有权访问另一个函数作用域中变量的函数,也就是一个作用域可以访问另一个函数内的局部变量。闭包也是一个函数。<script> // fun函数作用域访问了fn函数里的局部变量num 此时就产生了闭包 // 此时的fn就是一个闭包函数 function fn(){ var num = 10; function fun(){ console.log(num);

2021-07-01 13:23:07 106

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除