自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js中的栈与堆

js在储存变量时有两种内存空间:栈内存和堆内存1、主要区别栈内存主要存储的是基本变量类型,如string、number、boolean、null、undefined以及对象的指针,栈内存就像是一个一个相同大小线性排列的空间,但栈内存算作简单存储,存储的变量有范围上限堆内存主要存储的就是引用类型,如对象Object,堆内存中数据大小一般未知2、内存分配栈内存线性有序存储,容量小效率高,而堆内存首先在堆2内存中分配存储区域,知乎将指针存储到栈内存中,效率较低3、关于const与let几个点c

2020-06-24 21:55:54 259

原创 ajax与axios区别

ajax传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱。JQuery ajax 是对原生XHR的封装,除此以外还增添了对JSONP的支持、$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {},

2020-06-21 15:44:23 246

原创 flex布局小记

传统布局为盒状模型,基于 display属性 + position属性 + float属性felx布局则是更为灵活,设置之后,子元素的float、clear、vertical-align都将失效一、模型二、容器属性1.flex-directionrow(默认值):主轴为水平方向,起点在左端。row-reverse:主轴为水平方向,起点在右端。column:主轴为垂直方向,起点在上沿。column-reverse:主轴为垂直方向,起点在下沿。2.flex-wrap属性默认项目都排.

2020-06-21 14:32:57 140

原创 promise

一、概念将异步操作队列化,且按照期望的顺序执行,返回符合预期的结果可以在对象之间传递和操作promise,帮助我们处理队列二、应用场景异步编程常用的方法就是时间监听和回调,但是异步回调也存在问题:很容易进入回调地狱中(嵌套层次深),不好维护。这种情况下,promise就能发挥作用promise是一个对象,它可保存不会剥夺函数return的能力,因此无需层层callback代码风格容易理解,益于维护多个异步等待合并便于解决三、解析1. 示例new Promise( fun

2020-06-17 16:39:18 114

原创 微信小程序随记

各类app微信小程序 没有跨平台运行于微信上原生app 跨平台直接运行于手机上ios端开发语言:object-c / swift / jsandroid端开发语言:java混合app:直接运行于手机上,性能比较差,给webapp加上一层壳,让它可安装与手机上 跨平台webapp :运行于app上,没有跨平台微信开发者工具创建初始项目的文件及其意义pages:存放所有的页面utils:存放所有的工具类app.js :小程序的入口文件(业务逻辑

2020-06-15 10:23:10 162

原创 git的基本使用

一、初始化gitF:\>cd MyProjectF:\MyProject>#初始化Git项目,成功后创建有一个.git隐藏文件F:\MyProject>git initInitialized empty Git repository in F:/MyProject/.git/二、状态与提交使用git status查看当前状态On branch master: 位于当前默默人分支nothing to commit, working directory clean :上

2020-06-05 22:04:48 215

原创 vuex

一、vuex基本概念1.概念vuex是专门为vuejs应用程序开发的状态管理模式,它采用集中式储存管理应用的所有组件的状态,并以相同规则保证状态以一种可预测的方式发生变化。2.为什么使用vuex组件传递数据嵌套太多会很复杂,可以用vuex作为公共的仓库,兄弟组件通信new一个新vue实例,专门用来做event bus进行通信多个组件共享一个状态时,event bus变乱。3.数据流vuecomponent 用户state 点餐员Actions 用户需求复数(通过dispatch发

2020-06-03 17:15:06 95

原创 CLI

技术栈vue-cli + webpack + es6 | es7 + vue-router + axios | vue-resource +VueUI(mint-ui | element-ui | vant-ui | ...)样式:bootstrap + jquery

2020-05-30 13:35:21 179

原创 vue监听

1.vue中methods,watch与computed的区别使用methods方式,数据得不到缓存,每一次执行逻辑都会调用方法,适合做业务逻辑使用watch(vue实例中)直接以数据作为方法名,即可监听:数据名(newVal,oldValue){},watch适合监听的单个数据computed计算属性(vue实例中)计算出来的数据会进行缓存方便下次使用提高性能,还可以多个属性一起监听computed:{ add(){ return this.firstname + this.lastna

2020-05-26 22:03:49 201

原创 vue-router路由

路由是一种对应关系后端路由前端请求的url和后端对该地址处理函数的对应关系,如router.get('./index',function(){}), ./index与function的对应关系就是后端路由前端路由通过前端hash路径(如路径中的#/login)和组件的对应关系1. 路由的基本使用通过script引入vue-router定义组件实例化路由对象 new VueRuter()配置路由规则router:路由; route:规则 routes:[{path:'./l

2020-05-25 21:12:37 159

原创 vue ajax请求

一、vue的ajax请求库jquery中做的ajax请求: $.ajax({ type:'', data:'', url:'', success:function(){ } dataType:json})vue中提供1. 使用promise语法的专做ajax请求库axios2.promise语法的vue-resouce区别在于2在vue基础上才能使用,而1在任何框架都可以。二、axios请求语法...

2020-05-23 23:00:45 231

原创 vue动画与组件

一、vue动画vue动画有三种来源:vue原生动画(官网动画介绍https://cn.vuejs.org/v2/guide/transitions.html)需要一个可切换的元素需要动画的元素用transition标签包裹编写动画样式第三方animation.css半场动画1.vue原生动画编写动画时,只需写v-enter与v-leave-to的组和v-enter-active,v-leave-to的组即可例:<style> .v-enter,.v-

2020-05-23 09:54:32 423

原创 vue的生命周期函数

vue声明周期分为四个阶段1.初始化beforeCreate()created() 最快执行ajax的,在内存中1.编译解析beforeMounte()mounted() dom已经加载完毕,可以在这里操作dom节点1.更新beforeUpdate()updated()1.销毁beforeDestory()destiryed()...

2020-05-20 21:42:11 115

原创 mvc mvp mvvm区别

mvc (站在项目角度划分)model:模型,数据连接层view:用户界面controller:业务逻辑(分为router.js路由分发和controller业务逻辑)v传指令到c,c完成业务逻辑后要求m改变状态,m将新的数据发送到v,用户得到反馈mvp(与mvc类似)各部分之间通信都是双向的view与model补偿发生联系,都与presenter传递,view非常薄,基本没有业务逻辑,presenter非常厚,几乎所有的业务逻辑布置,mvvm(站在前端角度划分)model:前.

2020-05-20 20:40:25 198

原创 后台部署,增删改查与跨域问题

前后端分离开发模式(考虑跨域问题)前端 会开启在一个自己的服务器上 4000div+css布局js,jquery,css3等实现页面交互请求后端接口完成业务后端 会开启自己的服务器上 5000编写接口编写数据库项目上线4000服务器在请求5000服务器的数据时就会出现跨域问题一、引入数据库1.安装mysqlnpm imysql -S2.创建mysql连接对象(routes中)var mysql = require('mysql');/

2020-05-20 16:12:53 388

原创 express项目生成

一、渲染一. 服务器渲染特性:把服务端的数据和页面结合完毕之后,给客户端返回整个页面(没有ajax)服务器渲染使用引擎模板art-template或者ejs。1.art-template模板1.引入安装好的art-templateconst artTemplate=require('art-template')2.把数据和模板结合 //2 数据与模板结合,两个参数分别为页面绝对路径和数据对象 const html=artTemplate(path.join(__dirname,'.

2020-05-19 14:42:14 231

原创 node引入msql

一、mysql环境1.phpstudywamp解释如下Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件mamp(mac)2.navicat :mysql可视化界面

2020-05-19 09:23:49 214

原创 安装mysql(8.0)遇到的问题及解决

一、用到指令mysqld --initialize --console安装并打印安装信息mysqld --install [服务名]其中服务名是当计算机有多个mysql时区分net strat mysql 运行mysqlnet stop mysql 停止mysqlsc delete MySQL/mysqld -remove卸载mysqlmysql -u root -p登陆root用户进入mysql命令模式二、问题与解决方法添加环境变量,配置文件my.ini书写时一定要用英文,否则安装会

2020-05-18 09:27:48 305

原创 模块化引入

一、npm安装区分安装速度npm与cnpm是同步安装,较慢yarn异步安装,较快安装选项:-g:全局安装-D:项目安装(开发需要)-S:项目安装(生产需要)二、模块化引入

2020-05-16 15:06:55 348

原创 node.js静态服务

一、服务器区别对于其他的后端语言,比如php,wamp(apache—+mysql),java(tomcat)都有自己提供的服务器node.js需要手写二、书写语法//1.引入http模块const http=require('http')//2. 创建服务const server=http.createServer()//3. 监听请求server.on('request',(req,res)=>{ res.end('hello bfy') //客户端给用户返回的数据}

2020-05-15 17:09:07 152

原创 js中的路径问题

一、绝对路径与相对路径绝对路径指的是文件绝对的存放位置,可用__dirname获取相对路径指的是文件相对于某个文件的路径浏览器中是相对于当前文件node中是相对于当前运行环境所在的路径二、路径拼接可用const path=__dirname+'./file/xxx.js'语句拼接,但常常后面的路径忘记去掉点导致文件路径错误引入path模块:const path=require(‘path’)cost abspath=path.join('__dirname','./file/x

2020-05-15 09:40:51 2559

原创 node.js之fs模块

一、node初识浏览器中javascriptjavascript是一种脚本语言javascript运行环境:v8引擎浏览器中javascript做一些特效、功能类的与前端界面交互的东西,但是不能做后端语言语言功能取决于平台,node.js只是一种运行环境。node.jsnode是基于chrome v8引擎的javascript运行环境,node.js使用了一个事件驱动,非阻塞式的I/O模型(类似于单线程)使其轻量又高效,node.js的包管理器npm是全球最大的开源式生态系统。二

2020-05-14 20:35:42 317

原创 node执行顺序

node执行分为主线程与事件队列,所以对于以下代码,执行结果为1 3 2console.log(1)setTimeout(function(){console.log(2)})console.log(3)2被分到事件队列,在主线程之后执行

2020-05-14 20:21:54 420 1

原创 es6常用部分扩展

trim()移除两侧空格includes传统的js只有indexof()方法判断一个字符串是否包含另一个字符串es6提供includes方法判断:'abc'.indexof('a')>=0//true,不匹配时返回-1'abc'.includes('a')//truestartsWith和endsWithvar s=‘hello world’s.startsWith('world',6)//trues.endsWith('hello',5)//true第二个参数表示起始.

2020-05-14 19:03:49 106

原创 es6解构赋值

一、解构赋值一、解构数组获取其中任意位var arr=[11,22,33,44]//es5:console.log(arr[0],arr[1],arr[2],arr[3])var [a,b,c,d]=arrconsoloe.log(a,b,c,d)//es6解构赋值var [,b,d]=arrconsole.log(b,d)//[22,44]获取任意位组成新数组,语法为var arr=[11,22,33,44]var [,...newarr]=arr //这里...obj

2020-05-13 16:57:38 428

原创 es6之let/const与var

es6是一种javascript的语言规范/标准一、es6两种组成在浏览器的基础上,javascript组成有dom document对象bom window对象在后台环境下node.js也是ECMAscript的组成,此时组成有:全局成员console.log、setTimeout等系统模块fs 模块等二、es6变化1、 语法细微变化var——>let,constlet具有块作用域,即{ var/let a=1}console.log(a)尤其在

2020-05-13 11:00:25 101

原创 使用vue-cli快速创建vue项目

一、vue-cli初识Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供交互式的项目脚手架、零配置的原型开发、运行时依赖cli-serverce,该依赖可升级基于webpack构造并带有合理默认配置可根据项目内配置文件进行配置可通过插件扩展此种条件下,各种构建工具可智能地配置衔接,十分方便二、vue-cli几个组件1、cli一个全局安装的npm包,它提供了终端里的 vue 命令:vue-creat:快速搭建一个项目vue serve:构建像想法的原型vue

2020-05-11 19:16:56 227

原创 vue学习笔记

一、vue初识1、vue概念vue是一个渐进式,响应式的javascript框架。所谓**渐进式**,指的是vue可以逐渐地嵌入html界面之中;而响应式指的是vue关注图层,以当数据改变时,界面标签等也会随之而变。尽可能简单的 API 实现响应的数据绑定和组合的视图组件一个简单的实例<div id="app">{{message}}</div>...&...

2020-05-09 10:05:35 273

空空如也

空空如也

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

TA关注的人

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