自动化构建工具 Gulp
Gulp安装配置12345678910111213141516171819// 安装npm i -g gulpnpm i --save-dev gulp// 新建配置文件 package.json{ "name": "test", "version": "1.0.0"}// 新建 gulp 任务文件 gulpfile.jsconst gulp = require('gulp');// 注册任务gulp.task('taskName', function(){ // 配置任务})// 注册默认任务gulp.task('default', function(){});
Gulp相关插件
123456789// gulp-concat (js/css) 文件合并// gulp-uglify 压缩js文件// gulp-rename 文件重命名// gulp-less 编译 le ...
Mongodb的基本使用
安装:
官网
启动mongodb服务器:mongod
修改默认端口:mongod --port 新的端口号
mongodb默认的端口:27017
设置mongodb数据库的存储路径:mongod --dbpath 路径
:star: 连接mongodb数据库:mongo
三大基本概念:
数据库 database
集合(数组) collection
类似与SQL中的数据表,本质上是一个数组,里面包含看多个文档对象,[{},{},{}]
文档对象 document
类似与SQL中的记录,一个文档对象{}就是一条记录
一个数据库由多个集合构成,一个集合包含多个文档对象。
基本使用:
show dbs 或show databases
查看所有的数据库
use xxx
切换到指定的数据库
db
查看当前操作的数据库
show collections
查看当前数据库中所有的集合
数据库的CRUD操作:插入数据
插入一条数据
db.collectionName.insertOne( {name:’liu’} )
db表示的是当前操作的数据库
...
CSS3基础
过渡动画转换
transition: 2s ease 1s(延迟); 过渡
transition-property: width, height /all; 过渡属性
transition-duration: 2s, 1s /2000ms; 持续时间
transition-timing-function: ease慢快慢/linear匀速/ease-in加速运动/ease-out减速运动/ease-in-out先加速后减速; 过渡时序函数
transition-timing-function: cubic-bezier(.24,.95,.82,-0.88)贝塞尔曲线; 过渡时序函数
transition-timing-function: steps(2, end/start)分两步,时间开始或者结束时执行一步
transition-delay: 过渡效果的延迟进行,等待一段时间后在执行动画
animate: test; 动画
animate-duration: 2s; 网页刷新就执行持续时间2s
animat ...
less基础
less基础层级样式和单行注释123456789101112131415161718body { // 单行注释 不会解析到css /* 多行注释会解析到css */ width: 100px; height: 100px; div { color: red; } >.box1 { width: 100px; } // 外层父元素 body:hover .box2 &:hover { color: orange; }}
less中定义使用变量12345678910111213141516171819202122// 定义变量@value: 100px;@cc: box2;// 使用变量// 作为属性 @变量名.box1 { width: @value;}// 作为类名 @(变量名) @{变量名}.@(cc) { width: ...
JavaScript 基础
JavaScript 基础&& 与 || 逻辑运算的运用123456789101112131415// && 与运算true && alert("会调用");false && alert("不会调用");// 第一个值为 true 返回 第二个值// 第一个值为false 返回第一个值let result = 11 && 22; // result => 22 let result = 0 && 11; // result => 0 let result = 11 && 0; // result => 0let result = 0 && NaN; // result => 0// || 或运算 true || alert("不会调用");false || alert("会调用");// 第一个值为 true 直接返回 第一个值// 第一个值为 false ...
CommonJS与ES6 Module的使用区别分析
本文转载自脚本之家,原文地址 www.jb51.net
前言学了 JS 并且用过 Node.js 后,对模块化应该是有所了解和使用了,那么一定见过以下两种模块导入导出的方式
第一种: ES6 Module
12345678// B.jsfunction show() { console.log('show方法被执行')}export default show// A.jsimport show from './B.js'show() // show方法被执行
第二种: CommonJS
12345678910// B.jsfunction show() { console.log('show方法被执行')}module.exports = { show}// A.jsconst bModule = require('./B.js')bModule.show() // show方法被执行
以上两种导入导出方法涉及到了两种 ...
leetcode - 链表
部分图和题解来自:https://programmercarl.com/
203. 移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
示例 1:
12输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]
示例 2:
12输入:head = [], val = 1输出:[]
示例 3:
12输入:head = [7,7,7,7], val = 7输出:[]
思路
题解123456789101112131415161718192021222324/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *// ...
CSS基础
CSS选择器123456789101112131415161718192021222324252627282930313233343536373839404142434445464748* /* 通配符 */p /* 元素选择器 */#ele /* id选择器 */.ele /* 类选择器 */div.class1 /* 交集选择器 */.class1.class2.class3 /* 交集选择器 */#id1, div.clas1, #id1 /* 并集选择器 */div > p /* 子代选择器 */div p /* 后代选择器 */p + span /* 下个兄弟选择器 */div ~ p /* 选择div后面的全部p */p[title] /* 属性选择器 既是 p 又有title 属性*/p[title=abc] /* 属性选择器 既是 p 又有title等于abc 属性*/p[title^=abc] /* <p title='abcxasas'>hello</p> abc开头*/p[title$=abc] /* <p ...
JavaScript链表定义以及常见操作
部分图和题解来自:https://programmercarl.com/
链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
单链表单链表是一种链式存取的数据结构,链表中的数据是以结点来表示的,每个结点由数据域和指针域构成。
单链表的常见操作
append(value) :向链表尾部添加新节点
removeAt(index):根据索引移除节点,返回数据域
insert(index,value): 向链表的特定位置插入新节点,返回boolean值
get(index): 获取对应索引的节点
indexOf(value): 返回元素在链表中的索引。如果没有该元素返回 -1
update(index,value) : 修改某个位置的元素,返回boolean值
isEmpty():链表是否为空
size():返回链表包含的元素个数。
toString(): 由于链表使用了Node类,就需要重写继承自JavaScript对象默认的toString方法,链表转字符串
单链表的定义符号说明:
current ...
JavaScript DOM 编程艺术|阅读笔记
获取元素与属性123456789document.getElementById('id')document.getElementsByTagName('p')node.getAttribute('href')node.setAttribute('src', 'img/img.png')
封装windowOnload加载函数:12345678910111213141516function addLoadEvent(func){ let oldonload = window.onload; if( typeof window.onload != 'function') { window.onload = func; } else { window.onload = function(){ oldonload(); func(); } }}// ...