自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.ShyZhang趟过的前端“小路坑”

前端路漫漫其修远兮

  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

转载 npm 与 package.json 快速入门教程

什么是 npm?官方文档中对它的介绍是:npm makes it easy for JavaScript developers to share and reuse code, and it makes it easy to update the code that you’re sharing.即: npm 是一个包管理器,它让 JavaScript 开发者分享、复用代码更方...

2018-07-18 09:28:49 389

原创 Node.js fs模块 删除非空目录

这里主要是进一步使用其他方法删除目录,提高自己对fs模块提供的api的熟悉度异步删除(深度模式)核心思想就是遍历完成某一个目录以后,在遍历另外一个目录,最后开始冒泡删除const fs = require('fs')const path = require('path')/** * * @desc 异步深度循环删除目录 * @param {string} dir 需要删除的目录 * ...

2018-07-09 20:21:06 5592

转载 原生JS获取radio 和 CheckBox 和 selected 的选中的值

原生JS获取radio 和 CheckBox 和 selected 的选中的值

2018-07-08 14:46:49 5368

原创 Node.js Error: Can't set headers after they are sent错误

报错:Error: Can't set headers after they are sent,怎么解决?      使用response.end()发送响应时,在此前加一个return,即return response.end(),类似的response.send()等函数也要加return,而且是所有的地方都要加,即使是a请求的响应没加return,当b请求到来时,也会报错。一、问题说明   ...

2018-07-08 14:35:22 6413

转载 Node中的Http模块

Node中的HttpNode中提供了http模块,其中封装了高效的http服务器和http客户端 http.server是一个基于事件的HTTP服务器,内部是由c++实现的,接口由JavaScript封装 http.request是一个HTTP客户端工具。用户向服务器发送数据。 下面就来分别得介绍一下http的服务端和客户端一、HTTP服务器http.Server实现的,它提供了一套封装级别很低的...

2018-07-08 14:31:23 1714

原创 改变作用域的方式有: call 、 apply、 bind、eval 、 with

bind方法 与 call 和 apply 区别就是     调用不会立即执行, 执行时候会改变作用域<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></hea

2018-07-08 14:02:00 560

原创 gulp工程化

gulp工程化:    它是一个工程化工具。同时也是一个Node第三方模块。安装:    需要两次第一次: 全局安装    npm install -g gulp第二次: 在需要运行的项目目录下安装一次    npm install gulp使用:在该目录下,创建一个文件名为gulpfile.js的文件(文件名必须是gulpfile.js 默认从该文件执行),在内部书写代码。引入模块:var gu...

2018-07-07 22:08:03 337

原创 formData上传文件

使用HTML5的formData对象 用ajax异步的方式提交form表单(还可以实现异步提交文件),可参考博客:https://www.cnblogs.com/zhuxiaojie/p/4783939.htmlhttps://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects这里要注意几点:<fo...

2018-07-07 17:36:20 3701

转载 文件路径匹配模式 globs匹配规则

A.  “*”:匹配文件中0个或者多个字符,但是不会匹配路径中的分隔符,除非路径分隔符出现在末尾。例a)   ./style/* :能匹配./style目录下的 a.js,x.y,abc,abc/,但不能匹配a/b.jsb)   ./style/*.js :匹配./style目录下所有的js文件.c)   /style/*.* :匹配./style目录下所有的文件d)   ./style/*/*....

2018-07-07 15:35:12 6682

原创 button type属性

button type属性submit 该按钮是提交按钮(除了 Internet Explorer,该值是其他浏览器的默认值)button 该按钮是可点击的按钮(Internet Explorer 的默认值)reset 该按钮是重置按钮(清除表单数据)总结:其他浏览器(除IE浏览器)中,如果button没有设置type属性,默认值为type="submit",会进行跳转页面和提交数据的操作,假如想...

2018-07-06 15:34:04 3979

原创 MongoDB数据库

配置MongoDB环境变量将安装的MongoDB数据库的bin文件夹的路径 添加到电脑全局环境变量path中,这样就可以在全局中使用MongoDB命令进行开启数据库等操作命令1. 创建数据库存储文件数据库程序安装好之后,还要选定一个文件夹作为数据库的存放地点。推荐在C盘根目录下创建一个空目录:2. 数据库开机命令数据库目录创建好之后,可以使用 mongod命令 开机mongod --dbpath ...

2018-07-02 20:29:22 161

原创 Node.js Express框架基础了解

NPM: nodejs package manager 官网: www.npmjs.org命令:     npm -v  查看版本号    npm install moduleName  安装模块到本地    npm install moduleName -g 安装模块到全局    npm install 安装项目时使用    npm init 创建项目时使用Express框架:  基于NodeJ...

2018-07-02 16:55:49 2169 1

原创 判断卷动到页面的位置

获取页面高度     document.body.clientHeight获取视口高度     document.documentElement.clientHeight获取页面卷动值     document.documentElement.scrollTop判断卷动到页面的位置  到小于距离页面底部200px的时候执行if(document.body.clientHeight - docume...

2018-06-26 16:44:08 378

原创 template模板字符串

underscore自定义书写template模板字符串

2018-06-26 15:35:53 3255

原创 AJAX

原生JS AJAXAJAX兼容性(IE8+)AJAX是浏览器支持的。浏览器支持的方式是通过浏览器内部的构造函数:     现代浏览器: window.XMLHttpRequest    IE(8之前)浏览器: window.ActiveXObjectvar xhr = null;if(window.XMLHttpRequest) { xhr = new XMLHttpRequest();...

2018-06-26 14:55:25 347

原创 URl 转码 解码

转码: encodeURIComponent(str);解码: decodeURIComponent(code_str);/aaaaa?username=1234&password=1234&sex=%E7%94%B7&hobby=%E6%89%93%E7%AF%AE%E7%90%83&hobby=%E7%BE%BD%E6%AF%9B%E7%90%83&ho...

2018-06-23 15:49:24 866 1

原创 字符串转对象的三种方式

JSON.parse( str )// 定义一个对象字符串var str = '{"error":1,"data":"用户不存在"}';// 使用JSON.parse()var obj = JSON.parse(str);// 输出该对象console.log(obj);eval("("+str+")")// 定义一个对象字符串var str = '{"error":1,&

2018-06-23 15:12:02 65394 2

原创 http协议

http协议: 指的是至少两方定下的规则。而Http协议指的是浏览器和服务器之间定下的规则。简单来说: HTTP协议规定了浏览器如何发送请求,服务器如何解析请求,服务器如何返回响应,浏览器如何解析响应。当浏览器地址栏中输入一个URL地址,并按下回车,此时,浏览器会分析URL,并发送HTTP请求,该请求是按照HTTP协议规则生成的。它包含四个部分: 请求首行、 请求头、 请求空行、 请求正文。请求首...

2018-06-23 15:07:22 185

原创 node.js基础了解

node.js的特点单线程    非堵塞I/O    事件驱动node,js模块化在node,js中,每一个JS文件就是一个模块在node,js中,分为内置核心模块 和 自定义模块(或者第三方模块)内置核心模块:    这些模块是node,js自带的,比如http url querystring fs(FileSystem)    引入方式:直接调用名称引入var http = require("...

2018-06-23 14:56:02 573

原创 HTML 标准属性 和 自定义属性

HTML 标准属性 和 自定义属性的区别联系

2018-06-17 14:36:05 8911

原创 CSS 3D

CSS 3D

2018-06-17 14:00:55 361

原创 移动端 touch事件 过渡事件 动画事件

移动端的事件是新增的,touch事件也叫触摸事件。因为手指的行为叫触摸。鼠标的行为叫点击。鼠标的点击事件依然支持,只是有300ms的延迟。为什么要有300ms的延迟,为了检测是否是双击。...

2018-06-17 13:00:58 1756

原创 浅复制 和 深复制

浅复制和深复制对于值类型来说,复制不复制都无所谓的,都是将变量中储存的值类型赋值给另一个变量。// 值类型的复制 a、b都是存储了10 的数值// var a = 10;// var b = a;浅复制和深复制都是针对于引用类型来说的    浅复制:从一个对象复制了另一个对象,两个对象的引用地址不相同,但是对象中的属性的引用地址相同。<!DOCTYPE html><htm...

2018-06-16 19:58:27 142

原创 call和apply的this指向问题

call( )方法和apply( )方法用法:    .call( this指向,参数 )    .apply( this指向,参数数组 ) 注意:    这里的this指向必须是引用类型。    如果this被强行改变为值类型,那么能够转为对应包装类型的都会转,不能转的 指向window<!DOCTYPE html><html lang="en"><head&...

2018-06-15 19:56:45 2115

原创 HTML5 canvas

什么是 canvas?HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。浏览器支持:Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 &...

2018-06-13 16:24:27 267

原创 闭包中的垃圾回收机制

闭包中的垃圾回收机制的原理和闭包保存内外部作用域的垃圾回收方面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><bo

2018-06-11 20:16:08 1613

原创 HTML5 audio 和 video

音频和视频共有属性播放方法: audio.play();暂停方法:audio.pause();是否暂停属性: audio.paused; 静音属性:audio.muted;音量属性:[ 0 -1 ]audio.volume;总时长属性: 单位s audio.duration; 当前播放进度: 单位saudio.currentTime;2.2 视频的封面属性 video.poster = '图片的地...

2018-06-11 19:52:50 395

原创 HTML5 事件推送Server-Sent Events

HTML5 服务器发送事件(Server-Sent Events)服务器发送事件(Server-sent Events)是基于 WebSocket 协议的一种服务器向客户端发送事件和数据的单向通讯。HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。Server-Sent 事件 - 单向消息传递Server-Sent 事件指的是网页自动获取来自服务器的更新...

2018-06-11 19:42:52 403

原创 类数组和数组

类数组和数组的转化类数组和数组的区别

2018-06-10 15:04:00 4284 1

转载 HTML5 拖放

拖放:    拖放是一种常见的特性,即抓取对象以后拖到另一个位置。HTML5中,拖放是标准的一部分,任何元素都能够拖放。浏览器支持:    IE 9以上、Firefox、Opera、Chrome以及Safari 12支持拖放拖放组成部分:    分为两部分 拖拽drag 和 释放 drop    拖拽drag指的是鼠标点击源对象后一直移动对象不松手,一但松手即释放了源对象 和 目标对象      ...

2018-06-10 14:30:14 2309

原创 HTML 5 Web Workers

    单线程:单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。简单的说就是处理事务的任务链,当只有一条链,所有的事情都在这一条链上执行时,那就是单线程。        优点:单线程较多线程来说,系统稳定、扩展性极强、软件丰富。        缺点:只有一个线程,代码顺序执行,容易出现代码阻塞(页面假死)。    多线程:有多条链时,那就是多线程了,当然并不...

2018-06-10 11:31:32 281

转载 Cookie、session和localStorage、以及sessionStorage之间的区别

一、Cookie、session和localStorage的区别 cookie的内容主要包括:名字、值、过期时间、路径和域。路径与域一起构成cookie的作用范围。若不设置时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失。这种生命期为浏览器会话期的cookie被称为会话cookie。 会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范...

2018-06-10 10:28:09 121

原创 HTML 5 Web 存储——localStorage 和 sessionStorage

    对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage    sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载,关闭浏览器页面就没有了    localStorage(长期存储) :与 sessionStor...

2018-06-09 21:07:15 195

原创 ECMAScript5——用ES3.1书写ES5新增的数组方法

1. forEach( )<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> &l

2018-06-03 20:46:59 316

原创 ECMAScript5——严格模式

位置放在脚本文件的第一行,整个脚本都将以严格模式运行。放在函数体的第一行,则整个函数以严格模式运行。 ES5 引入严格模式,在代码头部加上 “use strict” 即可开启严格模式。严格模式主要有以下限制。变量必须先声明后使用函数的参数不能有同名属性,否则会报错不能使用 with 语句不能对只读属性赋值,否则会报错不能使用前缀 0 表示八进制数,否则会报错不能删除不可删除的属性,否则报错不可删除...

2018-06-03 20:36:00 534

原创 ECMAScript5——新增数组方法

forEach( )该方法用于循环数组使用方式:    arr.forEach(function() , this)        function: 为数组中每个元素执行的函数,该函数接收三个参数:                 第一个参数表示数组中正在处理的当前元素                 第二个参数表示组中正在处理的当前元素的索引                 第三个参数表示ma...

2018-06-03 14:40:30 226

原创 ECMAScript5——JSON拓展

ES5    javascript最早是由网景公司推出的,极其简单,被很多开发者接受,逐渐流行起来,后来IE为了抢占市场微软,将IE浏览器内置在windows系统中,所以IE的市场占有率相当的高。IE脚本语言是Jscript(vbscript)    网景公司为了推广js,与sun公司合作,为了让js更流行,借助当时极其流行的语法java,将js更名为javascript,所以java与javas...

2018-06-03 14:38:32 379

原创 ECMAScript5——对象拓展

Object.preventExtensions使用方式:Object.preventExtensions(obj);obj: 要处理的对象ECMAScript5

2018-06-02 23:39:14 202

原创 ECMAScript5——对象属性的特性对象

对象属性的特性对象    在ES3.1中,只要对象能被访问,我们就可以任意操作对象。例如: 添加属性、 删除属性、修改值    在ES3.1中, 对象的属性的可访问性永远是true    在ES5中,对象变得更严格了。 利用某种方式设置了对象属性的可访问性。    其中就是利用“特性”来控制对象属性的可访问性。Object.defineProperty()作用:  用于设置对象的单个属性特性。使用...

2018-06-02 23:19:32 635

原创 JavaScript toString( ) 函数详解

toString()函数用于将当前对象以字符串的形式返回。该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。所有主流浏览器均支持该函数。语法object.toString( )返回值toString()函数的返回值为String类型。返回当前对象的字符串形式。JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能...

2018-06-02 11:30:36 647

Sea.js模块化官方demo

Sea.js模块化官方四个demo Hello Sea.js Lucky Ball Angularjs Todo Todo

2018-06-10

空空如也

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

TA关注的人

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