- 
			
			
				js模拟实现call,apply,bind
			
			
				    Function.prototype.myCall = function(context) {        if(typeof context != 'object') {            return;        }        var fn = Symbol();        var args = [];        for(var i=1; i<arguments.length; i++) {            args.push(argument...…
			
		 
		 
		- 
			
			
				js函数柯里化
			
			
				  柯里化的简单概念:只传递给函数一部分参数来调用它,让它返回一个函数去处理其他的参数。参数个数确定的函数的柯里化function add(a){    return function(b){        return function(c) {            return a+b+c;        }    }}add(1)(2)(3) //6参数个数不确定的函数的柯里化function add(a){    var sum = 0;    function _add(a) ...…
			
		 
		 
		- 
			
			
				js作用域
			
			
				对于编程语言来说,存在着两种类型的作用域,分别为静态作用域和动态作用域。作用域类别影响变量的绑定方式。静态作用域又叫词法作用域。在词法作用域里,取变量的值时,会检查函数定义时的文本环境,捕捉函数定义时对该变量的绑定。大多数现在程序设计语言都是采用静态作用域规则,如C/C++、C#、Python、Java、JavaScript……采用动态作用域的变量叫做动态变量。只要程序正在执行定义了动态变量的代码段,那么在这段时间内,该变量一直存在;代码段执行结束,该变量便消失。var b = 'b';f...…
			
		 
		 
		- 
			
			
				js防抖与节流
			
			
				防抖函数主要要来防止频繁调用某一事件的回调,其规定在某一延迟内,如果继续有事件触发,则计时器重新开始计时    var debounce = function(cb,delay) {        var timer = null;        return function() {            clearTimeout(timer);            timer = setTimeout(function() {                cb();        ...…
			
		 
		 
		- 
			
			
				webpack的动态引入与动态加载
			
			
				动态引入文件有时我们想动态引入某个文件夹下的所有模块,文件名称事先是不知道的,这时可以使用 require.context 来实现该需求mod/mod1.js:export default {	name : 'mod1'}mod/mod2.js:export default {	name : 'mod2'}index.jsconst files = require.context('./mod', false, /\.js$/) //第一个参数可以使用正则,第二个参数用来指定是否要递归子目...…
			
		 
		 
		- 
			
			
				使用jenkins构建vue项目与分布式部署
			
			
				一、分布式部署拓扑图二、配置远程服务器可以使用Publish Over SSH插件来实现linux服务器之间的免密码登录,其步骤如下:  在 jenkins 服务器上安装Publish Over SSH插件  生成RSA秘钥对  将公钥配置到远程的三台机(10.32.0.223,10.33.0.11,10.167.0.246),将公钥添加到/root/.ssh/authorized_keys文件即可  将私钥添加到Publish Over SSH的配置中  在Publish Over SS...…
			
		 
		 
		- 
			
			
				webpack的几种引用方式
			
			
				a.js:console.log('modA run');var varA = 'modA'; //模块内部的变量在其他模块是获取不到的,全局作用域的变量可以放在 window 下define(function(require){	return 'modA';});b.js:require('./a');console.log('modB run');module.exports = 'modB'; c.js:console.log('modC run');export default '...…
			
		 
		 
		- 
			
			
				阿里云OSS跨域设置
			
			
				阿里云OSS跨域设置当使用阿里云OSS进行web端直连断点上传文件时,跨域设置投必须增加Etag,否则CompleteMultipartUpload阶段时,服务器将返回400(InvalidPart)…
			
		 
		 
		- 
			
			
				wirshark过滤
			
			
				运算符  小于: <,lt  小于等于: le,<=  大于: gt,>  大于等于: ge,=  等于: eq,=  不等: ne,!=  非: not,!  与: and,&&  或: or,||过滤IP  ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107  ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP过滤端口  tcp.port eq 80 // 不管端口是来源...…
			
		 
		 
		- 
			
			
				前端性能优化之-setImmediate,setTimeout,process.nextTick的区别
			
			
				  setImmediate 和 process.nextTick 是 nodejs 中的 api,标准浏览器里是没有这两个函数,不过 ie10+ 浏览器实现了非标准的 setImmediate,其主要用来在事件循环结束后,尽快的执行其回调(延时<=2ms)。在前端开发中,应避免使用 setImmediate。为了实现异步执行代码,js 引擎使用了观察者来检测相应的队列是否有待执行的任务。setTimeout 采用的是类似IO观察者,setImmediate 采用的是 check 观...…