自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript语法基础—语句和表达式

Javascript基础关于本文首发 WowBar [GitHub][WowBar]作者: yvongyangTOC What: 什么是JS基础 Why: 为什么写JS基础 How: 怎么写序What: 什么是JS基础 JavaScript 我们都清楚是作为开发Web 页面脚本火起来的,其核心的语言特性就是在标准ECMA-262 中定义的,在该标准中定义的...

2019-12-15 23:06:25 725

原创 webpack 局部安装报错 Refusing to install package with name "webpack" under a package

npm ERR! code ENOSELFnpm ERR! Refusing to install package with name “webpack” under a packagenpm ERR! also called “webpack”. Did you name your project the samenpm ERR! as the dependency you’re inst...

2019-11-20 07:41:31 255

原创 Javascript基础探索

ECMAScript规范导读(序)

2019-11-09 22:10:14 152

原创 柯里化(Currying)

/**柯里化(Currying),又称部分求值(Partial Evaluation),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术参考: https://www.jianshu.com/p/2975c25e4d71https://www.zhangxinxu.com/wordpress/2013/02/js-...

2019-08-31 16:37:29 184

原创 Node笔记二(异步I/O和异步编程)

异步I/O为什么要异步I/O用户体验—Js和UI渲染公用一个线程,同步方式获取JS资源会使UI停顿;资源分配—I/O与CPU计算是可以并行进行的,但是同步模式I/O会让后续任务等待,利用异步I/O,可以让单线程远离阻塞,更好的利用CPU.综上,异步I/O的目的是使I/O的调用不再阻塞后续运算,将原有等待I/O完成的这段时间分配给其余业务执行。操作系统的异步I/O异步/同步与阻...

2019-08-31 14:55:54 168

原创 删除Docker容器镜像的方法

停止所有的container,这样才能够删除其中的images:docker stop $(docker ps -a -q)如果想要删除所有container的话再加一个指令:docker rm $(docker ps -a -q)查看当前所有imagesdocker images删除images,xxx为image iddocker rmi xxx想要...

2019-08-26 18:23:47 162

原创 Node笔记一(简介 & 模块)

架构Node Standard Library是Node标准库httpBuffernetstreamfseventsbufferNode Bindings沟通JS和C++的桥梁,封装V8和Libuv的细节,向上层提供基础API服务V8Libuv原文:https://yjhjstz.gitbooks.io/deep-into-n...

2019-08-11 19:12:33 2332

原创 SQL

1.关系数据库概述主流关系数据库商用oracle, SQL Server, DB2开源:MySQL, postgreSQL等数据模型-层次模型-网状模型-关系模型数据类型Bight, varchar(N), json…SQL: 结构化查询语言,用来防伪和操作数据库系统.语言定义了这么几种操作数据库的能力:DDL:Data Definition LanguageDDL...

2019-07-06 23:54:02 175

原创 Git stash clear后如何恢复

首先输入:git fsck --lost-found上述可以看到记录:dangling commit xxxidxxx,然后git show xxxxidxxxx,查看该id的具体内容找到你想要的id后输入git merge xxxxidxxxx

2019-06-27 18:27:33 3316

原创 使用基于nodejs实现的mysql client端访问mysql server端报错

client端创建连接:var mysql = require('mysql');var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'xxx', database : 'test'});connection.connect...

2019-06-21 00:38:29 534

原创 Node框架:Koa 和 Express

expresskoaexpress生命周期不确定/koa确定express内置eTag而koa没有express和koa实现计算返回时间中间件koa-connect扩展:

2019-06-09 00:27:32 756

原创 Babel

1.Babel简介Babel是一个工具链,主要用于将ECMAScript 2015+代码转换为当前和旧版浏览器或环境中的向后兼容版本的JavaScript。以下是Babel可以做的主要事情:转换语法Polyfill功能,目标环境中缺少的(通过@babel/polyfill实现)源代码转换// Babel Input: ES2015 arrow function[1, 2, 3].m...

2019-06-02 14:04:39 582

原创 最优(快)Js写法

测试js 相同实现某功能 最优(快)写法 和 一些例子的网站:http://jsben.ch/wQ9RUhttps://jsperf.com/测试js 相同实现某功能 最优(快)写法的Js:https://benchmarkjs.com/Js库 最优(快)写法替代实现功能:https://github.com/codemix/fast.js...

2019-05-27 22:42:49 297

原创 简单实现模版引擎

现在的模板引擎挺多的,语法也多样,像handlerbar.js, template.js, artTemplate等等,模板引擎流程如下:模板 -> 输入到模板引擎 -> 生成函数 -> 把数据当成参数,执行该函数 -> 输出结果其中原理都是离不开正则匹配出语句,并将语句放入数组中并执行。以下是两个简单实现template引擎的例子:template1: htt...

2019-05-26 15:54:38 265

原创 Http缓存

通过网络提取内容速度缓慢并开销巨大。较大的响应需要在客户端和服务器之间进行多次往返通信,延迟浏览器获得和处理内容的时间,增加访问者的流量费用。因此缓存并重复利用之前获取的资源的能力是性能优化的一个关键。http请求报文分为两部分:报文头部和数据主体。报文头部包含(cookie, 缓存信息等);数据主体即http想要传输的数据内容。http缓存相关的报文头有:字段名字段所属...

2019-05-19 23:40:23 172

原创 浏览器 "Script error"

先看浏览器中的错误:Error: foobar at new bar (<anonymous>:241:11) at foo (<anonymous>:245:5) at callFunction (<anonymous>:229:33) at Object.InjectedScript._evaluateOn (<ano...

2019-05-13 22:28:11 2246

原创 今日二三事

上午早起去办租赁备案,办完了回来激活了信用卡并稍微摸索了下,中午和室友一起订烤鱼和小龙虾,吃完都十二点多,午睡未睡着看了一会漫画和小说,去书房三点多,买了一杯咖啡,看看练习5老师给的连接,状态好的情况下还是可以看进去一些英文文档的。晚饭后继续看,边看边跟老弟聊天,他最近要学python,我打算也学一学,顺便带动下他。果真要早睡早起,而且有效时间记录还是有用的,虽然才记3天工作日的时间,但是差不多摸...

2019-05-12 00:12:53 168

原创 本地初始化项目推送到github

创建本地仓库文件夹,初始化本地仓库git initgit add .git commit -m "xxx"github上创建项目,不用初始化README, gitignore等文件添加远程仓库地址到本地仓库git remote add origin 远程仓库地址git remote -vpush本地仓库到远程git push -u origin master...

2019-05-08 19:42:55 471

原创 Web安全及XSS(一)

浏览器同源策略httpsCSPXSSX-XSS-ProtectionCSRFclickjackingX-Frame-Options书籍推荐:Web前端黑客技术揭秘 和 白帽子讲Web安全showcase15

2019-04-21 21:48:35 2202

原创 HTTPS加密及通信过程

Http & HttpsHttp: 超文本传输协议,位于应用层,常用于web浏览器和服务器之间的通信。Https: 位于安全层上的HTTP,在Http下面提供了一层传输级的密码安全层(SSL & TLS).不同点:http默认情况访问的是服务端80端口,https访问的是443端口(SSL&TLS是通过443端口承载);http直接传输命令,https...

2019-04-14 01:18:04 1285

原创 正则表达式

正则表达式:用于匹配字符串中字符组合模式。在JS中,正则表达式也是对象。与RegExp(exec和test方法),String(match, replace, search, split方法)结合使用。几个概念(keys):贪婪模式&非贪婪模式:匹配尽可能多的字符 以及 匹配尽量少的字符元字符:量词:分支/(a| b| c)/,字符集/[abc]/(罗列)相当于/[a-c]...

2019-04-08 23:53:54 235

原创 JS Number类型的数值转换

js有5种基本数据类型: undefined, Null, Boolean,Number, String(, Symbol).还有一种复杂类型数据: Object.Number()Number类型采用IEEE 754 64位格式存储,所以jS中的整数和浮点数都是以浮点数表示。浮点型数值占据的内存空间是整数型的两倍,所以JS会不失时机的把浮点数转换为整数。位操作符不直接操作64位的值,而是...

2019-03-24 00:41:18 3530

原创 前端单元测试(待补充)

单元测试的好处开发驱动方式:ATDD TDD BDD有哪些单元测试框架和方法node assertmocha前端测试框架,运行测试的工具should.jsKarma基于node.js的Javascript测试任务管理工具。JasmineTravis.CI提供持续集成服务,简称CI.绑定Github上的项目,有新代码就会自动抓取。提供运行环境,执行测试,完成构建,部署到服务器...

2019-03-17 00:12:09 319

转载 js大数相加

var vaule=1+1(答案是2)var vaule2=843529812342341234+236124361425345435(正确答案是1079654173767686669,但js相加得出的答案却是1079654173767686700)为什么?首先按照JavaScript中数字格式,能够表示整数范围是从-9007 199 254 740 992~9007 199 254 740...

2019-03-15 01:23:26 826

原创 JavaScript参数中的中括号

中括号代表 参数可选举例:buf.write(string[, offset[, length]][, encoding])例子中:第一个参数string没有中括号,意思是必须传的;offset[, length]]和 encoding在中括号内,为可选参数,即offset, length, encoding可传可不传;[, length]外面是offset,意味着没有传offset...

2019-03-14 10:02:01 1941

转载 Javascript中的this

我们知道JavaScript执行上下文中有三个重要属性:VO/AO和scope chain,以及this指针。我们今天就来看下this指针。 首先看看下面两个对this的概括: this是执行上下文(Execution Context)的一个重要属性,是一个与执行上下文相关的特殊对象。因此,它可以叫作上下文对象(也就是用来指明执行上下文是在哪个上下文中被触发的对象)。 &amp;amp;nbsp;...

2018-07-21 18:40:12 722

原创 Js 执行上下文

Javascript有三种代码运行环境:Global, Function 和 Eval函数内部的执行环境。为了表示不同的运行环境,JavaScript中有一个执行上下文(Execution context,EC)的概念,也称执行环境。 当JavaScript代码执行的时候,执行流会进入到相应的执行环境,该执行环境被推入到一个环境栈中,函数执行之后,js引擎将其环境从栈中弹出,将控制权返回给之前的...

2018-06-30 22:29:15 305

原创 Apply()

Function.proptotype.apply(thisArg, [argsArray])thisArg 可选的。在 func 函数运行时使用的 this 值。argsArray 可选的。一个数组或者类数组对象,其中的数组元素将作为单独的参数传给 func 函数。call()方法的作用和 apply() 方法类似,只有一个区别,就是 call()方法接受的是若干个参数的列表,而...

2018-05-20 23:49:23 205

原创 js块级作用域

首先看一个常见的函数,该函数输出的是什么呢? 对的,就是5个6. 为什么会这样呢?因为setTimeout是个异步函数,每次循环的时候都会创建一个定时器,任务放到队列里,等主线程执行完才会执行定时器,这个时候循环跑完了,最后一次的 i = 5 + 1 = 6,所以输出5个6.for (var i = 1; i &amp;lt;= 5; i++) { setTimeout(function t...

2018-05-17 23:30:43 147

原创 深度copy对象或数组,兼容浏览器

function cloneObj (obj) { var str, newobj = obj.constructor === Array ? [] : {}; if (typeof obj !== 'object') { return; } else if (window.JSON) { ...

2018-05-17 17:51:37 287

原创 数组去重的几种方法

1. 常见function distinct1(array){ var n = []; //一个新的临时数组 //遍历当前数组 for(var i = 0; i &lt; array.length; i++){ //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n....

2018-05-17 17:26:00 224

转载 Shim Polifill区别

Shim Shim 指的是在一个旧的环境中模拟出一个新 API ,而且仅靠旧环境中已有的手段实现,以便所有的浏览器具有相同的行为。主要特征:该 API 存在于现代浏览器中; 浏览器有各自的 API 或 可通过别的 API 实现; API 的所有方法都被重新实现; 拦截 API 调用,并提供自己的实现; 是一个优雅降级。 Polyfill polyfill 是一段代码(或者插件),...

2018-05-13 17:22:10 333

原创 es6 展开运算符

展开运算符不能用在对象当中,只能在可遍历对象中使用(iterables)。iterables的实现是依靠[symbol.iterator]函数,目前只有Array,Set,String内置[Symbol.iterator]方法,不过es7草案中已经加入了对象展开运算符。可用展开运算符展开数组,解构数组,拷贝数组,类数组对象变成数组等。 像拷贝数组一样,我们常常使用Array.Prototyp...

2018-05-08 16:13:34 522

转载 git 自动补全— ubantu & Mac

Ubantu:1. git install apt-get install git apt-get install git-core2. download git source code git clone git://git.kernel.org/pub/scm/git/git.git或者去 http://git-scm.com/download ...

2018-04-11 22:47:45 138

原创 inline-block的三个元素,width均为33.33%却不能并排显示

html:&lt;div class="container"&gt; &lt;div class="col"&gt; 1111 &lt;/div&gt; &lt;div class="col"&gt; 2222 &lt;/div&gt; &lt;div class="col"

2018-03-25 17:38:41 2720 2

转载 css垂直居中(有些包含了水平居中)

html:&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta name="viewport" content="width=device-width"&gt; &lt;title&gt;JS Bin&lt;/

2018-02-10 23:02:16 270

空空如也

空空如也

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

TA关注的人

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