自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王小贱的博客

Never too late to learn

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

原创 mongoDB从入门到放弃之三mongoose

mongoose?概念部分 一般我们不直接用MongoDB的函数来操作MongoDB数据库 Mongose就是一套操作MongoDB数据库的接口.Schema 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力.可以说是数据属性模型(传统意义的表结构),又或着是“集合”的模型骨架/* 定义一个 Schema

2018-02-02 15:24:22 1588

转载 mongoDB从入门到放弃之二node链接mongoDB增删改查实例

npm install mongodb插入数据var MongoClient = require('mongodb').MongoClient;var DB_CONN_STR = 'mongodb://localhost:27017/elm'; # 数据库为 elmvar insertData = function(db, callback) { //连接到表 sit

2018-02-02 15:19:15 374

原创 MongoDB从入门到入门之一初涉mongoDB

安装配置 show databases use demo-1(数据库名称 切换/创建数据库) db.dropDatabase()删除数据库 show tables db.col.drop() 删除集合col - 增删改查- 增> db.col.insert({title: 'MongoDB 教程', xxx}) 向col集合中插入数据

2018-02-02 15:17:07 364

原创 MySQL从入门到放弃第六章:子查询和表连接

子查询与连接学习目录启动服务 mysql -uroot -p123456 -P3306 -h127.0.0.1(账号root密码123456)SHOW DATABASES 查看数据库use db_name 选中数据库SELECT DATABASE() 显示当前打开的数据库SHOW TABLES 查看当前数据库下的数据表SHOW COLUMNS FROM tbl_name 查

2018-01-20 17:44:39 378

原创 终极异步解决方案async,await以及异步并发处理方案

前端js的传统异步解决方案及时回调,but我们亲爱的es6新增了三种解决方案:PromiseGenerator- async之前项目中一直是用promise来解决,vue项目中的axios其实也是返回的Promise对象,async其实算是Generator的语法糖,这次我们不讲Promise 和Generator,因为对async一直理解不是很透彻,拿一个项目中的实例改造

2018-01-18 15:32:25 11391 2

原创 MySQL从入门到放弃第五章:操作数据表中的记录(增删改查)

操作数据表中的记录学习目录增删改查插入 INSERTINSERT [INTO] tbl_name [(col_name,…)] {VALUES | VALUE} ({expr | DEFAULT},…),(…)…省略col_name则表示要插入所有字段,所有字段都要赋值否则报错为自增的字段赋值可用NULL/DEFAULT,他仍遵守递增的规则,此外为有默认值的项赋值D

2018-01-15 21:31:29 244

原创 MySQL从入门到放弃第四章:修改数据表

修改数据结构学习目录 数据表的修改操作:无非就是添加列(ADD),删除列(DROP),添加约束(ADD),删除约束(DROP)。用的是ALTER,而INSERT是对数据表添加插入记录用的。 修改数据表: - 针对字段:添加/删除字段,修改列定义,修改列名称等 - 针对约束:添加/删除各种约束 - 针对数据表:数据表的更名(两种)添加单列 ALTER

2018-01-15 15:18:07 244

原创 MySQL从入门到放弃第三章:约束

约束学习目录 - 约束保证数据的完整行和一致性 - 约束按数据列的数目划分: - 表级约束 - 列级约束 - 约束按功能划分: - NOT NULL 非空约束 - PRIMARY KEY 主键约束 - UNIQUE KEY 唯一约束 - DEFAULT 默认约束 - FOREIGN KEY 外键约束

2018-01-15 15:06:36 310

原创 MySQL从入门到放弃第二章:数据类型与操作数据表

数据类型整型 数据类型 存储范围 字节 TINYINT 无符号值:-128到127 有符号位0-255 1 SMALLINT 无符号值:-2^15到 2^15 有符号位0-2^16 2 MEDIUMINT 无符号值:-2^23到 2^15 有符号位0-2^23 3 INT 无符号值:-2^31到 2^31

2018-01-15 15:04:50 165

原创 MySQL从入门到放弃第一章:初涉

初涉mysql 本系列将会从0开始学习Mysql,大部分是理论加部分实例 学习目录 - mysql默认端口 3306 - mysql超级用户 root - 创建数据库 CREATE DATABASES - 修改数据库 ALTERE DATABASE - 删除数据库 DROP DATABASE启动服务 mysql -uroot -p123456 -

2018-01-15 15:03:42 723

原创 vue中计算属性computed的getter setter问题

首先不应该使用箭头函数来定义计算属性函数 (例如 aDouble: () => this.a * 2)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.a 将是 undefined。需求如下:邮箱和编码联动:规则是邮箱是编码+@xx.com代码

2017-11-02 16:33:17 19331 1

原创 斐波那契数列js解法之性能对比

斐波那契数列 1 1 2 3 5 8 13 ...话不多说直接进入整体第一种利用递归function fibo(n) {return n// or return narguments.callee(n - 1) + arguments.callee(n - 2) }console.time('small loop1')for( let i = 1;

2017-06-26 15:14:22 2057

原创 JavaScript之this解密

JS中的this一直是个比较头疼的问题,这里我总结了一下this的四种场景

2017-06-20 15:42:45 262

原创 中文输入法onkeydown的bug

有个bug比较蛋疼,在中文输入法中监听e.keycode会一直是229,但是在英文输入法没有问题;解决办法是吧keydown事件换成keyup,就可以监听到正确的keycode了 $('#eTicket').on('keydown',function(e){ console.log(e.keyCode) }) $('#eTicket').on(

2017-06-08 14:47:23 1603

原创 页面重绘,回流以及优化

Opera曾列出“reflow和repaint是减缓JavaScript的三大主要原因之一”一文,可见重绘和回流对性能影响很大。昨天面试百度正好有问到相关知识,这里整理下。回流与重绘1. 当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。在回流的时候

2017-02-17 13:50:11 381

转载 一张图看懂JavaScript中数组的迭代方法

在《JavaScript高级程序设计》中,分门别类介绍了非常多数组方法,其中迭代方法里面有6种,这6种方法在实际项目有着非常广泛的作用。其中本人最爱用forEach和map,好用又高效,不用什么都是for循环大法。但是初学的时候往往觉得头大,这些方法都很像,到底有什么区别?趁着今天有空,我把对着6个方法的认知,用最浅显的图画出来,希望看到的同学觉得有用。前辈已经总结了一张图片,这里直接看就好了

2017-01-18 16:29:34 321

转载 Vue2.0 新手完全填坑攻略——从环境搭建到发布

Demo 地址:http://demo.jinkey.io/vue2源码:https://github.com/Jinkeycode/vue2-example什么是 VueVue 是一个前端框架,特点是数据绑定比如你改变一个输入框 Input 标签的值,会自动同步更新到页面上其他绑定该输入框的组件的值数据绑定组件化页面上小到

2016-12-27 17:17:37 4556 1

转载 markdown总结

==### 1.标题==文体前加#空格就是一级标题,两个#就是二级标题,以此类推,一共六级标题# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题==### 2.斜体==一个*包裹的是斜体  *斜体*两个*包裹的是粗体  **粗体**==### 3.列表==

2016-12-20 15:35:50 261

转载 git常见问题之:回滚版本

git reset 版本退回HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。git loggit log –pretty=oneline 看意思就知道是美化显示一行啦要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个

2016-12-20 15:31:30 404

转载 git常见问题之:commit your changes or stash them before you can merge

用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge.

2016-12-20 15:17:37 4636

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用

2016-12-20 15:07:56 188

原创 git:总结git常用命令

git常用命令总结

2016-12-20 15:04:44 322

转载 vue中 v-if 和v-show的问题

1.共同点都是动态显示DOM元素2.区别(1)手段:v-if是动态的向DOM树内添加或者删除DOM元素;v-show是通过设置DOM元素的display样式属性控制显隐;(2)编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换;(3)编译条件:v-if是惰性的,如果初始条件

2016-11-17 11:20:36 7239 1

转载 GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

GitHub操作总结 : 总结看不明白就看下面的详细讲解..作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18812279.GitHub操作流程 :第一次提交 :  方案一 : 本地创建项目根目录, 然后与远程GitHub关联,

2016-11-14 14:15:12 457

转载 细说$.extend() $.proxy()

今天看公司项目代码,有些方法以前不是很常用,这里总结一下。jQuery.extend 函数详解JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。      一、Jquery的扩展方法原型是:    extend(dest,src1,src2,src3..

2016-10-25 19:42:24 308

翻译 总结下我常用的垂直水平居中

总做中可能会遇到各种需要垂直水平居中的问题,这里总结下我常见的集中。第一:利用定位position:1.1在元素宽高已知的情况下,配合负margin达到水平居中.parent{position:relative}.child{position:absolute;top:50%;left:50%;width:50px;height:50px:margin:-25px;

2016-09-23 22:08:53 286

原创 关于for循环中引用setTimeout

题目1:var a=[1,2,3]; var len=a.length; for(___){ setTimeout{function(){ console.log(__); },0} } 要求输出a的所有项。该题目考察的就是JavaScript的单线程以及setTimeout的异步特性。【注】:JavaScript引擎是单线程运行的,浏览器运

2016-09-20 23:09:08 10253

转载 大部分人都会做错的经典JS闭包面试题

目录由工作中演变而来的面试题JS中有几种函数创建函数的几种方式三个fun函数的关系是什么?函数作用域链的问题到底在调用哪个函数?后话由工作中演变而来的面试题这是一个我工作当中的遇到的一个问题,似乎很有趣,就当做了一道题去面试,发现几乎没人能全部答对并说出原因,遂拿出来聊一聊吧。先看题目代码:function fun(n,o) { console.log(o)

2016-09-14 23:08:29 351

原创 封装一个方法返回字符串出现最多的字符以及次数

function test(str) { var num = 0; var ivalue = ''; var obj = {}// obj={// a:[],// b:[]// } for(var i = 0; i < str.length; i++) { if(!obj[str[i]]) { obj[str

2016-09-11 23:44:56 1178

原创 封装一个转换成千分符的函数

function test(str){ var h = a.length%3; var arr = []; var inum = 0; var tem = [] if(h!=0){ var atrhead = str.substring(0,h) arr.push(atrhead) } var strleft = str.

2016-09-11 23:42:52 447

原创 驼峰命名法camelCase和连字符Hyphenate 相互转换

// 正则方法 function test(str){ var o = /-(\w)/g; return str.replace(o,function(a,b){ // b为子项; return b.toUpperCase() }) }//字符串方法 function test2(str){ var arr = str.sp

2016-09-11 23:39:20 3615

原创 如何快速搭建一个服务器

这里是我常用的几个便捷方法:1.用wamp:直接安装点啊点啊点就ok了,讲你的东西放到www下就ok了具体安装方法http://jingyan.baidu.com/article/2d5afd69efe9cf85a3e28e54.html2.用node;安装方法:http://jingyan.baidu.com/article/ed2a5d1f5cedbc09f6be171

2016-09-11 16:44:52 586

原创 wamp下localhost目录Your Projects下项目无法打开解决方案

最近在学php,然后可能遇到各种小白问题,记录下来当做自己成长的见证吧:wamp下localhost目录Your Projects下项目无法打开,但是在url中输入项目可以访问到。解决方案:找到www文件夹下的index.php文件,然后修改里面查找$projectContents,或直接查看338行代码,修改‘http://‘为‘http://localhost/‘即可.

2016-09-11 16:18:43 10148 1

原创 整理几个经典的算法,随时更新(排序,去重,斐波那契函数)

排序问题:排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中"快速排序"(Quicksort)使用得最广泛,速度也较快。思想:(1)在数据集之中,选择一个元素作为"基准"(pivot)。(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基

2016-09-10 22:28:24 2503

原创 简单封装下ajax

function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest(); } catch (e) { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } if (method == 'get' && data) {

2016-09-10 21:22:27 205

原创 整理个跨浏览器的事件处理程序

直接上代码:var EventUtil = {//添加对象 addHandler: function(element, type, handler){ if (element.addEventListener){ element.addEventListener(type, handler, false); } else if

2016-09-09 15:13:39 220

转载 关于IE坑爹的hasLayout

什么是hasLayout?hasLayout是IE特有的一个属性。很多的ie下的css bug都与其息息相关。在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。当一个元素的hasLayout属性值为true时,它负责对自己和可能的子孙元素进行尺寸计算和定位。虽然这意味着这个元素需要花更多的代价来维护自身和里面的内容,而不是依赖于祖先元素来完成这些工作。

2016-08-26 15:19:27 924

原创 关于垂直居中vertical-align

实现垂直居中的两种方式1.通过设置line-height=容器高,2.通过vertical-align:middle;1.关于垂直对齐1.line-height属性当行高等于容器高时,可以实现垂直居中。    当单行文本行高小于容器高时,可实现单行文本在容器中垂直中齐以上任意位置;    当单行文本行高高于容器高时,可实现单行文本在容器中垂直中齐以下任意位置。2.vertica

2016-05-21 11:35:23 493

原创 关于margin叠加问题

只有普通文档流中块元素的垂直边界才会发生边界叠加。行内框、浮动框或绝对定位框之间的边界不会叠加。     1.发生外边距叠加的情况    外边距(margin)重叠示例    1.1外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。    1.2另一个重叠现象是当一个元素包含在另一个元素之中时,子元素与父元素之间也

2016-05-21 11:33:37 684

转载 关于语义化标签

Html语义化标签,Html5新增语义化标签1.什么是语义化标签?那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下我可以使用这个标签才合理)比如,网页上的文章的 标题就可以用标题标签,网页上的各个栏目的 栏目名称也可以使用标题标签。 文章中内容的段落就得放在 段落标签中,在文章中有想强调的文本,就可以使用em标签表示强调等等。 2.为啥使用语义化标签?

2016-05-17 12:17:42 381

空空如也

空空如也

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

TA关注的人

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