自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宁静致远

把最实用的经验,分享给有需要的读者。看庭前花开花落,望天上云卷云舒。

  • 博客(59)
  • 收藏
  • 关注

原创 Nodejs07--node常用模块之--url

url 模块:处理带参数的请求比如这个请求:http://localhost:8990/news?newsid=1&author=zs,带有参数:newsid=1&author=zs引入模块:require('url');url.parse();parse函数:接受一个URL字符串,解析它,然后返回一个URL对象url.format();format函数的作用与parse相反,它的参数是一个JSON对象,返回一个组装好的url地址【例 1:】url.parse(...

2021-04-28 15:54:01 468

原创 Nodejs05--node常用模块之--path、fs

path 模块 :提供了一些用于处理文件路径的小工具,对路径进行处理 合并 并 解析路径path.resolve(from,to);获取从源地址from到to的绝对路径path.relative(from,to);获取从原地址from到to的相对路径path.basename('path1');获取文件的基本名path.extname('path1');获取文件的扩展名path.join();连接多个路径,使用特定的分隔符把全部给定的path片段链接到一起,并规范生成的路径

2021-04-23 16:23:20 277

原创 Nodejs06--node常用模块之--querystring

querystring 模块字面意思就是 查询字符串,一般是对http请求所带的数据进行解析引入模块:require('querystring'); querystring模块仅有四个方法querystring.parse(str);parse函数:是将一个字符串反序列化为一个对象。 querystring.escape(str);escape函数:可使传入的字符串进行编码。 querystring.stringify(str);stringif函数:将一个对象序列化成一个字符串,...

2021-04-23 16:05:44 1517

原创 Nodejs04--node常用模块之--http详解

在node中,模块--简单理解就是每个js文件就是一个模块。模块有三大类:内置模块、第三方模块 、自定义模块。内置模块:常用到的模块有:http、path、url、querystring用法:直接引入require('模块名');第三方模块用法:仓库地址:https://www.npmjs.com/在这个网站上进行下载安装1、安装:npmi第三方模块名2、文档中引入此模块require('第三方的模块名')3、按...

2021-04-23 16:04:32 700

原创 Nodejs03--node模块基本介绍

在node中,模块--简单理解就是每个js文件就是一个模块。模块有三大类:内置模块、第三方模块 、自定义模块。

2021-04-22 15:59:33 154

原创 Nodejs02--npm介绍

npm用法npm的官网地址 https//registry.npmjs.org初始化项目: npminit-y 。生成一个package.json文件安装模块局部安装:npmnstall包名 全局安装:npmnstall包名-g在命令行工具中大部分是全局安装当拿到项目后先安装package.json中指定的所有依赖命令:npminstall 。安装项目中package.json文件中锁定的依赖 更新:npmupdate 包名 卸载: npmunins...

2021-04-22 15:55:18 151

原创 Nodejs--01--基本介绍

Node.js 是js语言的运行平台,它不是语言,每个js文件就是一个模块,有自己的作用域,在一个模块内定义的变量、函数、类等都是私有的,对其他文件不可见。

2021-04-14 15:00:43 135

原创 JavaScript 进阶 41 -- Promise 手写简单的源码

前面的一篇说了说Promise的基本用法和常用的方法。知道了Promise的实现原理,我来自己试着谢谢源码先看看promise是怎么用的【 例 】let p = new Promise((resolve,reject)=>{ //同步代码先执行,异步代码先放着,此时是等待状态 console.log('先执行同步的') setTimeout(() => { resolve('异步执行成功'); }, 1000); })p

2021-03-17 13:33:18 224

原创 JavaScript 进阶 40 -- Promise 白话讲解Promise

ES6原生提供了 Promise 对象。当一个异步任务的执行需要依赖另一个异步任务的结果时,我们一般会将两个异步任务嵌套起来,这种情况发生一两次还可以忍,但是发生很多次之后,这就是所谓的回调地狱,代码层层嵌套,环环相扣,逻辑稍微复杂一些,程序就会变得难以维护。Promise,一定程度上解决了JavaScript的流程操作问题。Promise的用处,实际上是在于多重异步操作相互依赖的情况下,对于逻辑流程的控制。先直接打印出来看看,console.dir(Promise)直观的看到 ,Pro

2021-03-12 15:56:53 241 1

原创 JavaScript 进阶 39 -- String模板字符串 和 Object简写

String模板字符串let str1= 'hello';let str2 = 'word';let str3 = `${str1}${str2}`;//这个不是引号,是数字1键 左边的 键 的符号console.log(str1+str2);//hellowordconsole.log(str3);//hellowordlet pr = { name:'zs', age:33, sex:'男', sayHi(){ return 'hi'

2021-02-07 21:02:18 363

原创 JavaScript 进阶 38 -- ES6新增Array方法(from、find、findIndex、fill、includes)

在ES6中有些新增的数组方法还是挺实用。from、find、findIndex、fill、includes。

2021-02-07 15:41:31 300

原创 JavaScript 进阶 37 -- JavaScript继承 extends

上一篇总结一下es5的继承方面的知识。之策来总结一下es6的继承es6的继承就简单多了,关键字extends直接来看代码吧class Person{ constructor(name){ this.name = name } //原型的 方法 eat(){ console.log('eating'); } //原型的 属性 get a(){ return 'a' } //静态..

2021-02-04 15:18:15 576 1

原创 JavaScript 进阶 36 -- JavaScript 继承

继承的主要思路就是利用原型链,如果理解了原型链,继承问题就理解了一半。原理:让一个引用类型继承另一个引用类型的属性和方法。.原型对象通过constructor属性指向构造函数 实例通过__proto__指向原型对象大白话来说就是 儿子继承父亲。实现继承 首先得有一个父类在es5中继承有两种:1、实例属性的继承,2、公共属性的继承。function Person(name){ this.name = name //父类 实例属性 【例1】}//父类 原型属性 ...

2021-02-04 15:14:34 113

原创 JavaScript 进阶 35 -- 构造函数、原型对象、实例之间的关系详解

说到继承 ,先要弄明白:构造函数、原型对象、实例之间的关系。直接上图吧,看的更清楚三者的关系,一看图就很清晰了吧:1、函数对象 Student 的 prototype 指向原型对象,原型对象的 constructor 指向函数对象 Student。2、实例对象 new Student() 的 __proto__属性 指向原型对象( Student.prototype ),这个属性的作用是:允许 实例通过该属性 访问 原型对象中的属性和方法。继承的主要思路就是利用原型链,如果理解了...

2021-02-03 20:29:29 217

原创 JavaScript 进阶 34 -- ES6 class类 详解

什么是类在JavaScript中,类是函数的一种,类的本质其实就是一个函数。es6新增了一种定义对象实例的方法,使用class关键字定义类。静态的属性方法。原型的属性方法。实例的属性方法

2021-01-14 19:48:49 313

原创 JavaScript 进阶 33 - 用ES5的代码模拟ES6的类的特性

es6类的特性1、不能直接调用类,必须通过new来调用,不使用new调用会报错的2、有些属性是不可枚举的,es5的原型上的方法或属性是可以枚举的3、使用Object.defineProperty()方法给原型添加自定义的属性或方法(给原型上加属性方法)构造函数:简单理解就是: 通过 new 的方式调用一个函数,该函数就是构造函数,

2021-01-13 11:09:29 199

原创 JavaScript 进阶 32 - Proxy 代理

Proxy();可以理解成:创建一个对象的代理。可以对JavaScript中的对象的基本操作 进行自定义。然后用 自定义的操作去 覆盖 其对象的基本操作。换句话说,就是一个对象去执行某个基本操作时, 其执行的过程和结果 都是 自己自定义的。

2020-12-29 21:05:55 323

原创 JavaScript 进阶 31 -- 简单来说下vue.js 数据监测observe的实现的原理

数据监测observer实现响应式的原理,只要要数据发生改变,页面视图就发生变化。简单来说就是一个方法,里面使用forin循环,分别为对象属性添加 get() 和 set() 方法,来实现对数据监测,这就要用到上一篇文章中提到的 defineProperty 对象自定义属性直接看段代码:let obj ={ name:'tom', age:22, company:{ address:'北京' }};obj.name = 'lily'...

2020-12-22 21:50:16 474 1

原创 JavaScript 进阶 30 -- defineProperty 对象自定义属性

在js中我们可以通过下面这几种方法定义属性let obj = {};obj.a = '1';let obj02 = { name:'tom', age:22}let obj03 ={};Object.defineProperty(obj03,'x',{ value:'欢迎你'})从上面看,使用Object.defineProperty好像很麻烦,为什么还要使用呢,vue.js和avalon.js 都是通过它实现双向绑定的。 Object.defineP

2020-09-24 15:23:40 534

原创 前端 —— JavaScript 进阶 29 --js中的typeof、 instanceof、Object.prototype.toString

JavaScript 中 typeof 和 instanceof 经常用来判断一个变量是什么类型的,或者判断是否为空。它们二者之间还是有区别的:typeoftypeof是一个一元运算符,放在运算数(表达式)之前,运算数可以是任意数据类型。它返回值是一个字符串,一个用来表示 运算数(表达式)的 数据类型 的 字符串。该字符串 说明运算数的 类型。typeof一般只能返回如下几个结果:"number"、"string"、"boolean"、"objec...

2020-09-10 17:23:57 192

原创 前端 —— JavaScript 进阶 28 -- ES6 之 Map

上一篇文章中提到了es6新增的数据结构 Set()。今天呢来说说另一个新增的数据结构,Map()。Map()Map类似于对象,Object提供了一种(字符串-值)的hash结构,但是键(key)只能是字符串,而Map的key可以是任何数据类型Map相当于加强版的对象,键(key)的取值可以是所有类型的值, 但key不能重复。如果重复,则后面的值会覆盖前面的,这就是先进先出原则哈希结构(hash):是一种根据关键码去寻找值的数据映...

2020-08-13 15:22:47 171

原创 前端 —— JavaScript 进阶 27 -- ES6 之 set

数据结构:数据结构就是储存数据的结构如:数组、对象。 常见的数据结构: 栈队列树图集合...。这次来说说 ES6 新增的数据结构 Set 和 MapSet:很多数据放在一起,没有重复项。它类似于数组,允许存储任何类型的值,无论是原始值或者是对象引用,但成员的值都是唯一的,没有重复的值。语法:var mySet = new Set();Set实例的属性和方法如下。add(value):添加某个值,返回Set结构本身。 ...

2020-08-13 11:27:45 333

原创 前端 —— JavaScript 基础篇 --- 递归(小白也能看的懂)

递归:就是函数自己调用自己。是循环运算的一种算法模式。常用于解决一些数学运算,如阶乘函数、幂函数和斐波那契数列。使用时要注意以下两部分:递归调用的过程。递归终止的条件(出口)。在没有限制的情况下,递归运算会无终止地自身调用,所以在递归运算中要结合 条件语句(if)进行控制,只有在某个条件成立时才允许执行递归,否则不允许调用自身。function dg(num){ if(num <= 0...

2020-07-16 15:28:43 14002 6

原创 前端 —— JavaScript 进阶 25 -- ES6 之 ... 展开运算符(剩余运算符)

... 展开运算符展开运算符(剩余运算符)应用于 数组 或者 对象。一个对数组或者对象进行展开插值一个是对数组或者对象进行局部的赋值 合并数组 let arr01 = [1,2,3];let arr02 = [4,5,6];let arr = [...arr01,...arr02];console.log(arr); //[ 1, 2, 3, 4, 5, 6 ] 一个数组或者对象指定到另一个数组或者对象的某一个位置 let arr03=[1,2,3];let a...

2020-07-13 09:50:48 545

原创 前端 —— JavaScript 进阶 25 -- ES6 之 解构赋值

解构:按照某种结构来分解里面的成员解构赋值:是对赋值运算符的扩展是针对数组或对象进行模式匹配,然后对其中的变量进行赋值解构模型在解构中,有两部分参与:解构的目标=解构的源只要左右两边的模式相同,就可以合法赋值 如果解构不成功,变量值等于undefined对象解构:对象解构不需要位置一致,只要保证解构的变量名和属性一致即可。//解构赋值 等号前面的大括号里的属性名 要和对象里的属性名一致const {name,age} = { n...

2020-07-12 17:32:48 215

原创 前端 —— JavaScript 进阶 24 --ES6 之 const、let

从今天开始呢就来总结一下 ES6 的语法知识

2020-07-12 10:43:34 190

原创 前端 —— JavaScript 基础篇 23 --- js获取input 、radio、checkbox、select 的值

js:如何获取input的值<lable>input的值:</lable><input type="text" id="userName" placeholder="请输入用户名" /><script type="text/javascript"> var userInput = document.getElementById('userName'); console.log(userInput.value;)</scr

2020-07-04 17:02:19 3807 1

原创 前端 —— JavaScript 基础篇 22 -- 比较全的正则验证(注册页面的demo)

注册页面中用到的正则校验,在提交表单的时候。方便自己后期复制粘贴 。若是能帮助有需要的伙伴,那再好不过。css文件.padb{ padding: 30px 50px;}.conBox{ background: #fff; padding: 0 40px 30px 40px;}.title{ height: 50px; line-height: 50px; border-bottom:1px solid #CCC;}.title span{ width: 70px; h

2020-07-02 20:01:44 292 2

原创 前端 —— JavaScript 基础篇 22 --- 正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达 对字符串的一种过滤逻辑。正则表达式:就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。用途给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1. 灵活.

2020-07-02 19:50:34 2670

原创 前端 —— checkbox、radio 复选框、单选按钮校验 (原生js)

复选框 checkbox 、单选按钮 radio 提交表单时的校验,原生js。方便自己复制粘贴。有需要的拿走。上代码:<form id="form01" action="1.html" method="post"> <input type="checkbox" name="hoppy" value="旅游" />旅游 <input type="checkbox" name="hoppy" value="宅家" />宅家 <input type="c.

2020-07-02 18:53:53 1668

原创 前端 —— 原生js -- 省市级联菜单- 有效哦

来个省市级联菜单(二级联动 ),方便自己后期复制粘贴 。若是能帮助有需要的伙伴,那再好不过。没有样式 ,需要的拿走不谢。<div class="form_con form_horizontal" id="form_con"> <div class="form_group"> <div class="form_item"> <label>所在地区:</label><select c

2020-07-02 18:43:15 495

原创 前端 —— JavaScript 基础篇 缓动动画(先快后慢的动画效果)demo

今天来个 缓动动画的小例子 ,是为了方便自己日后的复制粘贴,若是能帮助到大家,拿走不谢。话不多说,直接上代码。<style type="text/css"> *{ margin: 0; padding: 0; } .box{ width: 200px; height: 200px; background: yellow; text-align: center; position: relative; top: 0px; .

2020-06-26 10:41:04 2803

原创 前端 —— JavaScript 基础篇 21 --- 倒计时 demo

前面提到了计时器。今天上个倒计时的例子,很经典的一个小 demo。直接上代码了 。反正是为了方便自己日后复制粘贴。若是能帮到大家,那最好不过,拿走不谢!html 部分:<style type="text/css"> div{ margin:20px auto; text-align: center; }</style><div> <span>现在的时间时:</span><span class="nowtime"&

2020-06-24 14:10:42 227

原创 前端 —— JavaScript 基础篇 20 --- 定时器 setTimeout、setInterval、clearTimeout、clearInterval

上一篇提到了BOM对象 即window对象 今天总结下window的另一个对象:定时器setTimeout(); 定时器延迟执行,并且执行一次参数1:函数———要执行的逻辑 参数2:时间——单位是毫秒,表示间隔多长时间执行参数1 1000毫秒 = 1秒语法: window.setTimeout(function () { // 函数体 },1000);省略 window的写法 setTimeout(function () { ...

2020-06-24 12:24:55 278

原创 前端 —— JavaScript 基础篇 19 --- BOM (window )对象

BOMBrowser Object Model 浏览器对象模型 核心对象是window BOM > DOM BOM包含DOMwindow 对象1 js访问浏览器窗口的接口2 全局作用域下的变量或者函数 都会成为window对象的属性或方法window常见事件onload 窗口加载(文档内容完全加载完成)完毕 window.onload = function() {} 或者onload = function() {}console.dir(wi...

2020-06-22 16:39:47 302

原创 前端 —— JavaScript 基础篇 18 -- window.pageYOffset

最近想仿照淘宝首页的侧边栏,写个简单的小例子。获取滚动条距离顶部的距离用到了window.pageYOffset 方法。window.pageYOffset返回文档当前沿垂直轴(即向上或向下)滚动的像素数,其值为0.0,表示该Document的顶部边缘当前与窗口内容区域的顶部边缘对齐。pageYOffset是scrollY的一个别名是 window的只读属性在IE9及以上、谷歌 、Safari、firefox,Opera(presto内核) 都支持 此语句window.pageYO...

2020-06-21 20:20:38 5289

原创 前端 —— JavaScript 基础篇 17 拖拽弹层-demo(三大系列的小demo)

前面文章提交了offset 、client、 sroll 三大系列。今天来上个可以 拖拽的弹层 的小例子。方便自己复制粘贴思路:拖拽弹层: 鼠标点下(onmousedown):该事件内部要添加两个事件 ,移动事件 抬起事件(此事件内部含有移除移动事件) 1、获取鼠标在元素内的坐标(pageX Y ,对象距离左边的距离offsetLeft,相减,就是鼠标点在元素内的位置的坐标) 2、鼠标移动弹层随移动(onmousemove), 始终获取对象距离左边和上边的坐标...

2020-06-10 16:57:33 174

原创 前端 —— JavaScript 基础篇 16 offset 、client、 sroll 系列总结

最近学习了一下JS中常用到的坐标系列 offset、scroll、client三大系列offset():方法返回匹配元素相对于文档的偏移(位置)。 相对于元素距离最近的 有定位的父级元素 的 偏移位置 offsetTop offsetLeft 对象距离左边的距离,距离顶部的距离的具体值。 offsetWidth offsetHeight 获取实际宽度 高度。width + 左右padding ...

2020-06-09 17:16:43 375

原创 前端 —— JavaScript 基础篇 15 --- event 事件对象

在上一篇的文章中提到过 event 对象 。Event 对象代表事件的状态。与事件相关的一系列数据 ,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。什么时候会产生Event 对象呢?event对象只在事件发生的过程中才有效 例如: 当用户单击某个元素的时候,该元素的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个even,事件通常与函数结合使用,函数不会在事件发生前被执行!获得event对象兼容性写法 event ||...

2020-06-05 13:45:33 472

原创 前端 —— JavaScript 基础篇 14 --- DOM事件流

今天和大家分享的JS中的DOM事件流事件流:描述的是从页面中接收事件的顺序。事件发生时会在元素节点与根节点之间按照特定的顺序传播,经过的所有节点都会收到该事件,这个传播过程即DOM事件流。也就是说事件的传播顺序流可以分为两种事件流模型事件流模型:分别是冒泡型事件流 和 捕获型事件流冒泡型事件:冒泡即事件开始传播,由最最特定的事件目标接收(也就是事件发生所在的节点),逐级传播到最不特定的事件目标。即从DOM的子元素到根元素。捕获型事件流:事件的传播是从最不特定的事件目标到 最特定.

2020-06-04 10:33:11 172

空空如也

空空如也

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

TA关注的人

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