- 浏览: 44621 次
- 性别:
- 来自: 深圳
最新评论
文章列表
-----------------------------------
Git学习笔记
-----------------------------------
1,使用git有三个概念必须理解:工作区、暂存区、版本库
工作区:就是我们电脑上看到的目录
版本库:工作区有一个隐藏的目录.git,这个就是git的版本库,版本库中有很多东西,包括stage(暂存区),还有git为我们创建的第一个分支master以及指向master的指针HEAD
git add :将工作区的代码添加到暂存区
git commit:将暂存区的代码提交到版本库
git rm:从版本库删除文件 ...
Mongoose快速入门
- 博客分类:
- 技术型
Mongoose快速入门
1.基础介绍
1.1安装 引用
启动数据库命令
mongod --dbpath=D:\Data\mongodb\_data
–dbpath:指定数据存储位置
连接本地的test数据库
Express handlebars模板常用语法
- 博客分类:
- 技术型
今天学一下express-handlebars模板引擎的语法结构
1,直接输出变量
<body>
<!-- Calls `foo` helper, overridden at render-level. -->
<p>{{foo}}</p>
<!-- Calls `bar` helper, defined at instance-level. -->
<p>{{bar}}</p>
</body>
2,if...else语句
<bo ...
Express handlebars简介
- 博客分类:
- 技术型
今天我们一块学习下nodejs模板引擎express-handlebars
首先安装
npm install express-handlebars --save
下面看看用法
1,使用express-handlebars模板引擎创建的项目的目录结构保持如下结构
.
├── app.js
└── views
├── home.handlebars
└── layouts
└── main.handlebars
2,下面是使用express-hanlebars模板引擎创建一个超级简单的express应用的实例
ap ...
刚开始接触nodejs的同学对module.exports和exports的使用会有困惑,到底该使用哪一个,还是两个都可以使用,要理解二者的区别,应该先理解nodejs中require的加载机制。
// 准备module对象:
var module = {
id: 'hello',
exports: {}
};
var load = function (module,exports) {
// 下面是加载的js代码:
let foo='hello';
module.exports = foo;
// 最后返回modul ...
扩展运算符用3个点表示,功能是把数组或者类数组对象展开成一系列用逗号隔开的值
1,数组
let arr = ['red', 'green', 'blue'];
console.log(...arr);//red,green,blue
拷贝数组(和Object.assign一样都是浅拷贝)
let arr = ['red', 'green','blue'];
let arr2=[...arr];
console.log(arr2);//['red', 'green','blue']
2,对象
拷贝对象(和Object.assign一样都是浅拷贝)
le ...
es6新增语句-结构赋值
1,传统的赋值语句
let a=['red','green','blue'];
console.log(a[0],a[1],a[2]);
2,使用结构赋值语句
let [a,b,c]=['red','green','blue'];
console.log(a,b,c);
使用结构赋值好处1:语法上更加简洁
3,如果右边数据比左边少,做与后台数据交互的时候会有这种问题。
let [a,b,c]=['red','green'];
console.log(a,b,c);//red,green,undefined
4,可以 ...
Object.assign方法是浅拷贝还是深拷贝?
1,普通变量
let obj={name:"zhangsan",colors:["red", "green", "blue"]};
let obj2=Object.assign({},obj);
obj2.name='wang';
console.log(obj2);//name wang colors:["red", "green", "blue"]
console.log(obj) ...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图</title>
<!--[if lt IE 9]>
<script src="js/libs/html5shiv.min.js"></script>
<script src="js/libs/respond ...
常见伪数组包括一组dom元素或者arguments...
例如下面常见的dom节点
怎么将它变成真正的数组呢,有哪些方法?
var uls=document.querySelectorAll('ul')
1,Array.prototype.slice.call(uls);
2,[].slice.call(uls)
3,Array.from(uls)
转换之后
ES6 for..of详解
- 博客分类:
- 技术型
es6新加了遍历方法for..of,今天看看怎么使用
遍历数组值
let arr=['red','green','blue','orange'];
for(let val of arr){
console.log(val);
}
怎么把索引打印出来呢?
如果想要打印出索引可以这样
let arr=['red','green','blue','orange'];
for(let index of arr.keys()){
console.log(index );//0,1,2,3
}
还可以这样
let arr=['red','gree ...
在es5里面,它们分别是foreach、map、filter、some、every。
1,forEach
forEach类似于普通的for循环,只是单纯的遍历数组元素,不会改变原数组也不会生成新的数组。
let arr=[1,3,5,false,true];
arr.forEach((val,index,arrs)=>{
console.log(val,index,arrs);
});
优点:写法更加简洁
缺点:缺点是不能使用break退出循环或者使用continue结束当前循环继续新迭代
2,map
主要作用做数据映射,不会改变原数组,会生成新的数组
...
下面通过按顺序读取本地文件data/1.txt-->data/2.txt-->data/3.txt三个问题来介绍三者的使用方式和差别
1,使用Promise实现
const fs = require('fs');
function readFile(filename) {
return new Promise((resolve, reject) => {
fs.readFile(filename, (err, data) => {
if (err) {
reject ...
一、什么是爬虫
爬虫:请求网站并提取数据的自动化程序
百科:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
二、爬虫基本流程
发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。
获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片 ...
display:box和display:flex区别
答案:没区别,是不同阶段w3c草案命名的不同,
W3C 2009年第1次草案:display:box; W3C 2011年第2次草案:display:flexbox | inline-flexbox;- W3C 2012年第5次草案及以后的候选推荐标准:display:flex | inline-flex;
如果想兼容更多浏览器可以,可以这样写:
display: -webkit-box;/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display: -moz-box;/* ...