javascript
RainsP
这个作者很懒,什么都没留下…
展开
-
命名冲突和变量污染
// 模块A的代码var isA=false;// 模块A创建了方法a()function a(){ ...}// 模块A改变了模块B中变量b的值,造成了变量污染b=1;// 模块B的代码var b=0;// 模块B创建了方法b()function b(){ ...}// 模块B也想创建方法a(),造成了命名冲突function a()[ ...}...原创 2018-10-25 09:43:52 · 185 阅读 · 0 评论 -
前端MVC模式
由来:应用复杂性的提高,程序变得臃肿,难以分工开发。通过关注点分离改进程序组织。简单实现:index.html<!DOCTYPE html><!-- saved from url=(0046)https://coding.imweb.io/demo/p7/mvc/index.html --><html lang="en"><head>...原创 2019-01-28 17:30:45 · 1145 阅读 · 2 评论 -
前端JS观察者模式(发布者--订阅者模式)
观察者模式优点:更加解耦,支持广播通信缺点:大量观察者,广播有性能问题举个最简单的例子:其中body是发布者,回调函数function是观察者。document.body.onclick = function(){ console.log('我是一个观察者');}document.body.addEventListener('click',function(){ console....原创 2019-01-26 17:48:06 · 1419 阅读 · 0 评论 -
前端JS装饰器模式
装饰器模式:在不修改类原来接口的情况下,动态的为对象添加功能优点:扩展对象更灵活,可组合缺点:增加复杂性// 原始类function Milk(){ this.price = 1;}// 加鸡蛋function addEgg(milk){ milk.price += 1;}// 加糖function addSugger(milk){ milk.price += 0.5;...原创 2019-01-26 17:11:12 · 878 阅读 · 0 评论 -
前端JS单例模式
单例模式优点:节约资源,控制入口缺点:拓展困难,不可职责过重// 单例模式类var Single = (function(){ var instance; function init(){ return { command: function(){} } } return { getInstance: function(){ if(!instance){ ...原创 2019-01-26 16:46:17 · 184 阅读 · 0 评论 -
VUE在VSCode中的代码格式化设置
VUE在VSCode中的代码格式化设置{ "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "gitlens.advanced.messages": { "suppressShowKeyBindi原创 2018-11-16 15:19:31 · 2413 阅读 · 0 评论 -
JavaScript正则表达式语法
pattern说明[xyz]一个字符集,匹配任意一个包含的字符\w匹配是字母、数字、下划线的字符\W匹配不是字母、数字、下划线的字符\s匹配任意空白字符\S匹配任意非空白字符\d匹配数字\D匹配非数字的字符\b匹配单词的开始或结束的位置\B匹配不是单词开始或结束的位置^匹配字符串的开始$匹配字符串...原创 2018-10-29 15:36:36 · 104 阅读 · 0 评论 -
前端常用构建工具对比
gruntgulpwebpack最早出现,基于文件读写,速度慢,配置复杂,现在基本不用替代grunt,基于文件流,速度较快,配置相对简单新一代构建打包工具,速度快,配置简单,现在最流行...原创 2018-10-26 09:11:48 · 241 阅读 · 0 评论 -
r.js(require.js的优化工具)的使用
文件目录结构:写build.js文件:({ appDir:'./',// 项目根目录 baseUrl:'./js',// 相对于appDir,代表要查找js文件的起始文件夹 dir:'./dist',// 输出目录 removeCombined:true,// 如果为true,将从输出目录中删除已合并的文件 modules:[ // 下面是每个页面需要用到的模块,说白了就是各页...原创 2018-10-25 15:25:53 · 1496 阅读 · 0 评论 -
模块化规范
common.jsAMD异步模块定义(require.js)CMD 通用模块定义(sea.js)1.文件即模块2. 使用module.exports(exports)暴露对外接口3.使用require同步加载依赖模块1.define定义模块2.使用require调用模块3.AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块4.AMD 提前执行依赖(异步加载:依赖先执...原创 2018-10-25 14:38:50 · 321 阅读 · 0 评论 -
JavaScript命名空间
方法名称前缀命名空间对象命名空间IIFE立即执行函数表达式代码var moduleA_a = 0;function moduleA_methodA(){...}var moduleB = {b:0,methodB:function(){...}var moduleC = (function(){var c=0;function methodC(){...}return...原创 2018-10-25 11:08:54 · 97 阅读 · 0 评论 -
在midwayjs中使用egg-swagger-doc
目录config.default.ts 配置设置plugin.ts 插件引入config.default.ts 配置设置export = (appInfo: any) => { const config: any = {}; // use for cookie sign key, should change to your own and keep security con...原创 2019-08-17 09:36:08 · 2271 阅读 · 0 评论