michael8512的博客

相互学习

html、js和css的加载和执行顺序

1)js加载后立即执行; 2)js执行时会阻塞页面后续的内容(包括页面的渲染和其他资源的下载)。 原因:因为浏览器需要一个稳定的dom树结构,而js中很可能有代码直接改变了dom树的结构,比如使用了document.write或者appendChild,甚至使用页面跳转。 3)如何优化js (1)...

2019-04-23 21:10:31

阅读数 24

评论数 0

JS如何实现拖拽以及如何应用HTML5中新增的api实现拖拽

介绍 我觉得JS拖拽的功能,大家一定都不会陌生。然而,在自己实际的项目开发工程中,却很少用到,以至于当自己开始着手实现这个这个功能当时候,也遇到了一些问题。 实现原理其实很简单,无非是鼠标事件+定位,但是,在实现当过程中,还是有一些注意点。同时,我自己在开发过程中,也是看了一些相关当博文,其中,还...

2019-04-16 21:29:11

阅读数 38

评论数 0

git简单应用入门--从实际项目开发出发

针对第一次git的大白,结合自己实际项目开发,梳理了以下内容,希望对初学者有帮助。 1. 拉取远程指定分支,在指定分支上开发 首先,默认远程有两个分支master和dev 1.1 拉取远程master分支,同时新建本地master分支,本地master分支与远程master分支建立...

2018-11-05 21:43:54

阅读数 72

评论数 0

利用Proxy代理和Reflect对象实现自定义原型链

1. 将代理作为原型链    用Object.create( )方法创建原型链,同时设置自定义的defineProperty上述例子中,在对象上定义属性的操作不需要操作对象原型,所以代理中的defineProperty陷阱永远不会被调用。自定义get和set方法后,得到下面修改后的代码    下面...

2018-04-11 21:39:52

阅读数 172

评论数 0

利用默认参数优化递归函数

        实际上,尾调用的优化发生在引擎背后,除非你尝试优化一个函数,否则无需思考此类问题。递归函数是其主要的应用场景,此时尾调用优化的效果很显著。请看下面这个阶乘函数        由于在递归调用前执行了乘法操作,因此当前版本的阶乘函数无法被引擎优化。如果n是一个非常大的数,则调用栈的尺寸...

2018-03-20 15:05:17

阅读数 101

评论数 0

提高JavaScript效率的编程实践

1、避免双重求值使用evel()和Function()构造器时,使得在JavaScript代码中执行另一段JavaScript代码,因此会导致双重求值的性能消耗。1) eval()例子比较:var array=['first','second','third']; console.time() ...

2018-03-12 20:56:31

阅读数 133

评论数 0

Node学习(6)CSRF Token介绍与应对策略

原文地址:点击打开链接最近模拟登陆,发现CsrfToken是个很麻烦的问题,所以看了一下CsrfToken的一些介绍。发现这篇文章写得很不错,所以转载过来。CSRF 背景与介绍CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年...

2018-03-07 21:24:23

阅读数 366

评论数 0

Node学习(5)export和module.export的区别

先上例子(1)将函数直接导出成模块模块文件:./my_modules/m.jsfunction fn1(){ console.log('我是fn1') } module.exports=fn1;index.jsvar foo=require('./my_modules/m') foo();/...

2018-03-05 20:33:50

阅读数 368

评论数 0

Node学习(4)vue+node 前后端分离项目ajax跨域session问题解决

最近学习使用vuejs前后端分离,重构一个已有的后台管理系统,遇到了下面这个问题:实现跨域请求时,每次ajax请求都是新的session,导致无法获取登录信息,所有的请求都被判定为未登陆。1、 vuejs ajax跨域请求最开始使用的是vue-resource,结果发现vue2推荐的是axios,...

2018-03-04 20:06:05

阅读数 806

评论数 0

npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法

npm ERR! path E:\SouthernPowerGridProject\web_project\AutoOPS\autoops\node_modules\fsevents\node_modules\dashdash\node_modules npm ERR! code EPERM ...

2018-02-03 17:26:17

阅读数 142

评论数 0

JS调试——console.log()以外console的其它用法

最常用的方法就是Console.log(),就是在控制台输出内容。刚开始学前端的时候看到大家都是用的Console.log(),几乎没有见过Console的其他用法,难道Console真的没有别的用法了?查了一下后发现Console还是非常强大的,至于为什么很少看到有人用可能是因为用过都删掉了吧。...

2018-01-30 12:38:39

阅读数 118

评论数 0

Node学习(3)express中使用static获取静态文件及常见错误

使用express中的static可以设置文件存储路径,比如js存在于public/js/demo.js这个时候可以将js文件夹设置为专门存储js的路径,代码如下: app.use('/javascript',express.static('./public/js')); 这段代码是将...

2018-01-28 11:28:28

阅读数 1020

评论数 0

Node学习(2)利用express设置路由

一、普通方式 最直接简单的方法就是对每一个需要访问的路径一一设置 var express=require('express'); var app=express(); //主页面 app.get('/',function(req,res){ res.end('Admin page') }...

2018-01-27 21:53:41

阅读数 244

评论数 0

Node学习(1)表单提交,由浅及深

Post表单提交: 这里我们首先借助菜鸟网站上的一个post实例说明一下: var http = require('http'); var querystring = require('querystring'); var postHTML = '菜鸟教程 Node.js 实例' +...

2018-01-26 21:42:38

阅读数 120

评论数 0

Vue.js学习(五):vue+axios+php+mysql 实现前端界面数据动态更新

网上参考了很多例子,都没有关于vue+php实现前后端的例子,后来自己总结了一个,希望大家批评指正。 vue实现动态数据的方式主要有vue-resource和axios,但是从Vue2.0开始,已经不对vue-resource进行更新,因此,本文主要利用axios进行操作。 1、安装axios...

2018-01-13 22:24:35

阅读数 7491

评论数 1

Vue.js学习(四):父子组件中的生命周期与钩子函数的调用顺序

借用下面这张图先简单了解Vue的整个生命周期 increase {{msg}} destroy 一、创建与挂载(created  and mounted) 当一个父组件中加载一个子组件,且父组件和子组件中同时调用mixin函数时,...

2018-01-11 11:34:47

阅读数 4751

评论数 0

Vue.js学习(三):mixins混合对象的使用

我对mixins的理解是,有点像注册了一个vue的公共方法,可以绑定在多个组件或者多个Vue对象实例中使用。另一点,类似于在原型对象中注册方法,实例对象即组件或者Vue实例对象中,仍然可以定义相同函数名的方法进行覆盖,有点像子类和父类的感觉。下面主要参考网上的一些资料,对mixins的实际作用做介...

2018-01-10 21:59:31

阅读数 2881

评论数 0

Vue.js学习(二):computed响应数据变化与其他几种方法的比较

vue重methods、computed、watch以及v-model都能侦听数据,并相应数据的变化 1)methods:每次获取都会重新计算求值 First Name: Last Name: ...

2018-01-04 21:44:39

阅读数 2399

评论数 0

Vue.js学习(一):用render函数渲染组件

这里通过一个完整的例子对render函数的用法和注意事项进行说明: HTML: 我的自定义p标签中的内容asdsa Css: .c{ background: red; } JavaScript: Vue.comp...

2018-01-04 16:21:11

阅读数 3921

评论数 0

循环遍历的几种方法

1. for循环1) Array数组for(let i=0,len=arr.length;i<len;i++){    console.log(arr[i])}2) Object对象for循环无法遍历Object对象3) NodeList数组<span&...

2017-12-06 22:43:58

阅读数 7496

评论数 0

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