04 2020 档案
摘要:ES6课程 9、三点运算符 一、总结 一句话总结: 三点运算符作用有两个,一是做可变参数,替代arguments,二是做扩展运算符 1、rest(可变,剩余)参数 用来取代arguments,但比arguments灵活,只能是最后部分形参参数 function add(...values) { le
阅读全文
摘要:ES6课程 8、模板字符串 一、总结 一句话总结: 模板字符串的作用是简化字符串的拼接,模板字符串必须用 `` 包含,变化的部分使用${xxx}定义 let obj = { name : '南极仙翁', age : 999 }; console.log('我叫:' + obj.name + ', 我
阅读全文
摘要:ES6课程 7、箭头函数 一、总结 一句话总结: 箭头函数是ES6中对函数的一种简写方式,可以把let add=function (a,b) {return a+b;} 写成 let add=(a,b)=>a+b; 适用于非方法函数。 let add=function (a,b) { return
阅读全文
摘要:ES6课程 6、解构赋值 一、总结 一句话总结: 1、解构赋值就是从对象或数组中提取数据, 并赋值给变量(多个),也就是对数组或对象的批量赋值 2、对象的解构赋值:把对象的属性name和age对应的值分别赋值给变量name和age:let {name, age} = {name:'fry', age
阅读全文
摘要:VUE项目爬坑 6、vuex的真正存在的意义是什么 一、总结 一句话总结: a、【避免低效的数据传递】:当多个组件嵌套的时候,只能父子传递,那么中间的组件只能做传递数据之用,数据不是它用,它却传递数据,这样不合理 b、【管理组件状态】:vuex可以让多个组件很方便的获取和管理状态 1、提交 Muta
阅读全文
摘要:VUE疑难问题 3、vue结构图 一、总结 一句话总结: vuex中的state帮外部组件管理数据,mutations负责修改state中的数据,actions负责执行外部组件的方法并且操作vuex中的mutations来更新state,getters对state数据进行修饰方便外部组件调用 1、v
阅读全文
摘要:VUE实例课程 42、counter实例_vuex_简写 一、总结 一句话总结: 可以用mapState、mapActions、mapGetters等来代替this.store.state、this.store.dispatch、this.$store.getters等,这样可以极大的简化代码
阅读全文
摘要:ES6参考 三点运算符实质 一、总结 一句话总结: 三点运算符的实质可以理解为使用Iterator接口遍历,所有可被遍历的数据(具有Iterator 接口的对象),如对象、数组、Map、Set、argument,都可以用三点运算符,另外字符串也可以使用三点运算符(某种意义上字符串可以理解为数组)。
阅读全文
摘要:VUE实例课程 40、counter实例 一、总结 一句话总结: counter实例就是用vue组件的方式做的计数小实例,把数据放在组件的data中,computed修饰数据,methods中放操作数据的方法 <template> <div> <div>click {{count}} times,
阅读全文
摘要:VUE实例课程 41、counter实例_vuex 一、总结 一句话总结: 将counter实例中的数据放到vuex中管理起来,组件需要数据的时候就直接从vuex中拿,修改数据的话就就通过actions和mutations来修改vuex中的数据 1、vuex中的state、mutations、act
阅读全文
摘要:webpack打包多页面的方式 一、总结 一句话总结: webpack可以进行多页面打包编译 二、webpack打包多页面的方式 转自或参考:webpack打包多页面的方式 - 简书https://www.jianshu.com/p/5c50a45ee7fc 一开始接触webpack是因为使用Vue
阅读全文
摘要:webpack多页面打包配置 一、总结 一句话总结: 有几个页面其实就可以new几个HtmlWebpackPlugin对象放到内存中去 webpack.common.js const plugins = [ // HtmlWebpackPlugin会在打包结束后,自动生成一个html文件,并把打包生
阅读全文
摘要:webpack 多页面 打包 一、总结 一句话总结: webpack可以进行多页面打包编译 二、webpack 多页面 打包 转自或参考:webpack 多页面 打包_JavaScript_jiu_meng的博客-CSDN博客https://blog.csdn.net/jiu_meng/articl
阅读全文
摘要:npm run dev 和 npm run build 作用和运行过程 一、总结 一句话总结: npm run dev:运行项目 npm run build:发布前的打包项目 二、npm run dev 和 npm run build 作用和运行过程 博客对应课程的视频位置: 1、npm run d
阅读全文
摘要:VUE参考 vue-cli3与2版本的区别 一、总结 一句话总结: *、【还是vue2,webpack4】:vue-cli3是基于webpack4打造,vue-cli 2还是webapck 3 *、【0配置】:vue-cli3的设计原则是“0配置”,移除的配置文件根目录下的,build和config
阅读全文
摘要:vue参考 VUE程序运行过程 一、总结 一句话总结: template->ast(abstract syntax tree)->render->virtual dom->UI 1、runtime-compiler 和 runtime-only 的运行原理(运行过程)? runtime-compil
阅读全文
摘要:vue参考 vue-cli 3.*初始化项目 一、总结 一句话总结: 直接去看官方文档就好:vue create hello-world创建一个新项目,运行npm run serve 1、vue-cli 3.*运行项目? 运行项目的话直接看package.json里面的内容,所以根据package.
阅读全文
摘要:apache启用gzip压缩方法 一、总结 一句话总结: a、Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。 b、利用Apache中的Gzip模块,我们可以
阅读全文
摘要:VUE项目爬坑 5、vue单页面项目发布 一、总结 一句话总结: 可以直接放到apache或者其它的服务器里面(就以静态网站的方式放置),很简单的 1、弹性布局做两端对齐用到的特别多? justify-content: space-between; 2、购物车的数据如何做持久化? 购物车的数据可以加
阅读全文
摘要:前端性能优化 4、apache服务器开启gzip压缩 一、总结 一句话总结: 在apache的配置文件httpd.conf中开启mod_deflate和mod_headers模块,并且在这个配置文件的最后加上deflate_module模块相关代码 LoadModule deflate_module
阅读全文
摘要:VUE项目爬坑 4、vuex使用注意 一、总结 一句话总结: 1、【修改数据mutations】:state中的数据,不能直接修改,如果想要修改,必须通过 mutations 2、【获取数据this.$store.state.***】:如果组件想要直接 从 state 上获取数据: 需要 this.
阅读全文
摘要:VUE项目爬坑 3、vue route的编程式导航 一、总结 一句话总结: router.push(location, onComplete?, onAbort?):router.push('home') 编程式的导航 除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借
阅读全文
摘要:js的getBoundingClientRect的用法 一、总结 一句话总结: 1、getBoundingClientRect用于获取某个元素相对于视窗的位置集合。集合中有top, right, bottom, left等属性。 2、rectObject = object.getBoundingCl
阅读全文
摘要:CSS函数贝塞尔曲线(cubic-bezier) 一、总结 一句话总结: cubic-bezier可以放在css中实现更多动画:transition:all 2s cubic-bezier(.17, .86, .73, .14); 二、CSS函数贝塞尔曲线(cubic-bezier) 转自或参考:实
阅读全文
摘要:VUE项目爬坑 2、在webpack中配置.vue组件页面的解析 一、总结 一句话总结: 1、运行`cnpm i vue -S`将vue安装为运行依赖; 2、运行`cnpm i vue-loader vue-template-compiler -D`将解析转换vue的包安装为开发依赖; 3、运行`c
阅读全文
摘要:VUE项目爬坑 1、 一、总结 一句话总结: 还是要多看视频,而且系统且轻便,比参照博客效果好 1、vue上一开始就要获取ajax数据的的函数(比如获取轮播图数据)应该放在哪个生命周期函数中? 放在created中 2、在组件中,使用v-for循环的话,一定要指定key? 在使用v-for的时候,尽
阅读全文
摘要:Promise做异步实例 一、总结 一句话总结: new Promise实例,then方法执行回调,catch抛出异常 function getFileByPath(fpath) { return new Promise(function (resolve, reject) { fs.readFil
阅读全文
摘要:jQuery中的promise实例 一、总结 一句话总结: 直接在ajax后调用then方法,jquery的ajax会返回promise对象 <script> $(function () { $('#btn').on('click', function () { $.ajax({ url: './d
阅读全文
摘要:你可能不需要单页面应用 一、总结 一句话总结: 单页面应用和传统服务端渲染互有优缺:根据实际需求选择合适的方案:也可以根据需求采用混合式的解决方案 二、你可能不需要单页面应用 转自或参考:你可能不需要单页面应用 - 众成翻译https://www.zcfy.cc/article/you-probab
阅读全文
摘要:单页面和多页面应用场景总结 一、总结 一句话总结: 多页面应用做官网、电商类这种对SEO和首屏加载速度要求比较高的项目,单页面可以做后台管理系统页面 1、什么是单页面应用? a、【外壳页面】:在项目应用中,以单个html页面作为外壳页面,并在外壳页面一次性加载项目所依赖的资源(CSS、JS)。 b、
阅读全文
摘要:ES6的模块暴露与模块引入 一、总结 一句话总结: ES6的模块暴露和引入可以让我们实现模块化编程,export或export default暴露,import引入变量 1、ES6三种模块暴露方法? 1、多行暴露:多个export 2、统一暴露:export暴露多个:export {foo,bar}
阅读全文
摘要:export default 和 export的区别 一、总结 一句话总结: a、export default 只允许向外暴露1次,import引入的时候可指定变量名 b、export在一个模块中可向外暴露多次,import引入时不方便指定变量,可用as来指定变量 在一个模块中,export def
阅读全文
摘要:Webpack安装使用总结 一、总结 一句话总结: 1、webpack 是前端的一个项目构建工具,它是基于 Node.js 开发出来的一个前端工具; 2、借助于webpack这个前端自动化构建工具,可以完美实现资源的合并、打包、压缩、混淆等诸多功能。 1、网页中引入的静态资源多了以后有什么问题? 1
阅读全文
摘要:开源协议之间的区别 一、总结 一句话总结: 开源协议之间的区别,可以通过这些方面来区分,比如 他人修改源码后是否闭源、衍生软件的广告是否可以用你的名字促销、每一个修改过的文件,是否都必须放置版权说明 等等 1、MIT许可证和Apache许可证? MIT许可证:他人修改源码后可以闭源,衍生软件的广告可
阅读全文
摘要:npm指令后缀 一、总结 一句话总结: -S, --save 安装包信息将加入到dependencies(生产阶段的依赖) -D, --save-dev 安装包信息将加入到devDependencies(开发阶段的依赖),所以开发阶段一般使用它 -O, --save-optional 安装包信息将加
阅读全文
摘要:nrm的作用(及安装) 一、总结 一句话总结: nrm提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址 1、nrm注意? nrm 只是单纯的提供了几个常用的 下载包的 URL地址,并能够让我们在 这几个 地址之间,很方便的进行切换,但是,我们每次装包的时候,使用的 装包
阅读全文
摘要:Vuejs中关于computed、methods、watch的区别 一、总结 一句话总结: a、【计算属性用于简易模板中的复杂表达式】、【缓存】、【属性】:computed是在HTML DOM加载后马上执行的,如赋值; b、【methods触发条件】:methods则必须要有一定的触发条件才能执行,
阅读全文
摘要:VUE参考 watch、computed和methods之间的对比 一、总结 一句话总结: computed:【缓存】 【属性】:属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用; methods:【业务逻辑】:方法表示一个具体的操作,主要书写业务逻辑; watch:【键
阅读全文
摘要:VUE实例课程 30、watch监听路由地址的改变 一、总结 一句话总结: 直接使用watch属性监听route.path的改变即可,例如route.path是'/login'表示登录页面 watch: { // this.route.path′route.path': function
阅读全文
摘要:VUE参考 为路由添加动画 一、总结 一句话总结: 直接把router-view放到transition中去,设置动画的方式和给普通标签设置动画的方式一样 <style> .v-enter, .v-leave-to { opacity: 0; transform: translateX(140px)
阅读全文
摘要:VUE参考 设置router-link激活样式 一、总结 一句话总结: 设置router-link激活时候的样式,直接设置 router-link-active 设置router-link激活时候的样式,直接设置 router-link-active .router-link-active { co
阅读全文
摘要:VUE参考 redirect重定向 一、总结 一句话总结: redirect重定向:{ path: '/', redirect: '/login' } // 2. 创建一个路由对象, 当 导入 vue-router 包之后,在 window 全局对象中,就有了一个 路由的构造函数,叫做 VueRou
阅读全文
摘要:VUE参考 router-link 一、总结 一句话总结: router-link会被解析成a标签,在to属性里面写链接,不用加#号 <!-- <a href="#/login">登录</a> --> <!-- <a href="#/register">注册</a> --> <!-- router-
阅读全文
摘要:VUE参考 路由基本使用 一、总结 一句话总结: 1、引入vue-router:<script src="./lib/vue-router-3.0.1.js"></script> 2、创建一个路由对象:let routerObj = new VueRouter({}); 3、在vm实例上注册路由:r
阅读全文
摘要:URL中 # (hash)的含义 一、总结 一句话总结: hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分) 1、“#”代表网页中的一个位置。其右面的字符,就是该位置的标识符? 例如我们常使用的锚点:http://www.example.com/index.h
阅读全文
摘要:VUE参考 前端路由 一、总结 一句话总结: 在单页面应用程序中,这种通过hash(#号)改变来切换页面的方式,称作前端路由 1、前端路由的原理是什么? *、通过URL中的hash(#号)来实现不同页面之间的切换 *、HTTP请求中不会包含hash相关的内容 前端路由:对于单页面应用程序来说,主要通
阅读全文
摘要:VUE参考 ref获取组件 一、总结 一句话总结: ref属性可以给组件使用,获取的组件可以调用组件的方法,比如 this.$refs.mylogin.show() <div id="app"> <input type="button" value="获取元素" @click="getElement
阅读全文
摘要:VUE参考 父组件向子组件传递方法 一、总结 一句话总结: 1、在使用组件的位置传递方法:父组件中的show方法,子组件通过func使用:<com2 @func="show"></com2> 2、在子组件中通过emit注册方法func,this.sonmsg是传递的参数:this.emit('f
阅读全文
摘要:VUE参考 父组件向子组件传递数据 一、总结 一句话总结: 1、在使用组件的位置通过v-bind向子组件传递数据:<com1 v-bind:parentmsg="msg"></com1> 2、在子组件的props中注册父组件传过来的数据:props: ['parentmsg'] 3、子组件中使用传递
阅读全文
摘要:VUE参考 组件复习 一、总结 一句话总结: 组件本身是一个对象,我们需要给组件取名,才能用 // 通过 对象 字面量的形式, 定义了一个 组件模板对象 var login = { template: '<h1>1234</h1>' } // 通过 Vue.component 把 组件模板对象,注册
阅读全文
摘要:VUE实例课程 8、列表动画 一、总结 一句话总结: 列表动画 也就是对列表使用动画,需要transition-group、v-move等知识点配合使用,列表动画记得对v-for设置 :key 属性 <style> li { border: 1px dashed #999; margin: 5px;
阅读全文
摘要:VUE实例课程 7、动画钩子函数 一、总结 一句话总结: 动画钩子函数也就是用函数(用js控制css)来操作动画,动画钩子函数中可以更加方便的操作动画,比如只实现半场动画,像物品添加到购物车的动画 <div id="app"> <!-- 1. 使用 transition 元素把 小球包裹起来 -->
阅读全文
摘要:VUE实例课程 6、使用第三方类库实现动画 一、总结 一句话总结: 可以使用第三方类库实现动画,比如animate.css,可以分别给enter-active-class和leave-active-class设置类,可以:duration设置动画持续时间 <!-- :duration="毫秒值" 可
阅读全文
摘要:VUE参考 组件切换动画 一、总结 一句话总结: 组件切换动画 直接把组件放到<transition>标签中即可 <!-- 通过 mode 属性,设置组件切换时候的 模式 --> <transition mode="out-in"> <component :is="comName"></compon
阅读全文
摘要:VUE参考 组件切换方式 一、总结 一句话总结: 可以用flag标志来标记组价的显示和隐藏,比如点击登录,flag为true,登录组件显示,点击注册,flag按钮为false,注册按钮显示 用component的is占位符,is 属性可以用来指定要展示的组件的名称:<component :is="c
阅读全文
摘要:VUE参考 为什么组件中的data必须是一个方法且返回一个对象 一、总结 一句话总结: 便于复用的组件保持自己的数据,让各个复用组件的数据不一样 <div id="app"> <counter></counter> <hr> <counter></counter> <hr> <counter></c
阅读全文
摘要:VUE参考 组件中的data和methods 一、总结 一句话总结: 组件中可以有自己的data和methods,data的话必须是函数且返回对象,方法的话则和vue对象里面一样,data和methods使用的话和vue实例中一样。 Vue.component('mycom1', { templat
阅读全文
摘要:VUE课程 26、组件 一、总结 一句话总结: 前端组件化开发,可以便于组件的管理和复用。组件可以定义全局组件和私有组件。 1、vue中如何定义全局组件? 直接在全局的 Vue.component 上定义 <mycom1></mycom1> <template id="tmpl"> <div> <h
阅读全文
摘要:VUE课程 25、发ajax请求 一、总结 一句话总结: vue发ajax包可以用axios包,操作也是比较简单,直接照着文档操作即可 methods:{ getNews:function () { _vue=this; //console.log(_vue); axios.post('http:/
阅读全文
摘要:VUE课程 24、插件 一、总结 一句话总结: vue里可以自定义插件,在插件里可添加全局方法和属性、添加全局指令、添加实例方法等等操作。 (function (window) { const MyPlugin={}; MyPlugin.install = function (Vue, option
阅读全文
摘要:VUE课程 23、自定义指令 一、总结 一句话总结: vue中指令可以自定义,可以自定义全局指令和局部指令两种,局部指令就在vue实例的directives上添加,全局指令可以直接Vue.directive(指令,回调函数) 1. 注册全局指令 Vue.directive('my-directive
阅读全文
摘要:VUE课程 22、ref获取dom 一、总结 一句话总结: vue中不推荐操作dom,vue操作dom的话可以用vue的ref属性,例如this.refs.msg获取ref="msg"的元素 <div id="app"> <p ref="msg">{{msg}}</p> <button @cli
阅读全文
摘要:VUE课程 21、表单输入绑定 一、总结 一句话总结: vue绑定表单数据比较方便,绑定了表单数据之后,可以很方便的用ajax把数据发送到后端 <div id="app"> <form action="" @submit.prevent="handleSubmit"> <div> <label fo
阅读全文
摘要:VUE实例课程 5、vue网格动画 一、总结 一句话总结: vue网格动画可以用<transition-group> 组件、v-move属性、lodash.js来做。 原理就是对元素移动的先后位置加动画。 <transition-group> 组件还有一个特殊之处。不仅可以进入和离开动画,还可以改变
阅读全文
摘要:js中的_是什么意思(比如 _.shuffle(this.items)) 一、总结 一句话总结: a、_是一个变量名。这里是一个全局变量。lodash和Underscore会把自己的代码都放在这个变量内。 b、和jQuery的 $同理。主要是打字方便。 二、js中的_是什么意思(比如 _.shuff
阅读全文
摘要:VUE实例课程 4、过滤器处理时间 一、总结 一句话总结: vue中处理时间可以用过滤器,可以很方便的得到各种格式的时间数据。可以配合moment.js来处理时间更加方便。 <div id="app"> <p>原始date模式:{{time}}</p> <p>年月日 时分秒:{{time | for
阅读全文
摘要:VUE课程 20、过滤器 一、总结 一句话总结: vue的过滤器有全局过滤器和私有过滤器,过滤器可以过滤一些敏感词汇,也能对时间格式进行过滤。 1、vue全局过滤器和私有过滤器? 全局过滤器是对所有vue实例都有效的过滤器,语法 Vue.filter(过滤器名称,回调函数) 私有过滤器只对当前vue
阅读全文
摘要:VUE参考 过滤器 一、总结 一句话总结: 基本过滤器使用:值 | 过滤器:<p>{{time | dateString}}</p> 过滤器带参数:过滤器后小括号接要带的参数:<p>年月日: {{time | dateString('YYYY-MM-DD')}}</p> <div id="test"
阅读全文
摘要:moment.js使用方法总结 一、总结 一句话总结: Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。 1、Moment.js常用方法? 获取今
阅读全文
摘要:VUE参考 动画钩子函数 一、总结 一句话总结: 动画钩子函数,也就是用函数来写动画,也就是用js控制样式 <div id="app"> <input type="button" value="快到碗里来" @click="flag=!flag"> <!-- 1. 使用 transition 元素把
阅读全文
摘要:VUE课程 19、动画 一、总结 一句话总结: vue动画有进入和出去两个大状态,设置动画的话用transition原生包裹起来,transition的name属性指定动画的名称 <style> .xxx-enter-active, .xxx-leave-active{ transition: al
阅读全文
摘要:VUE课程 18、生命周期函数 一、总结 一句话总结: 生命周期函数:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期函数!比如mounted()、beforeDestroy()等 1、生命周期钩子、生命周期函数、生命周期事件 的关系是什么? 生命周期钩子 =
阅读全文
摘要:VUE实例课程 3、定时显示隐藏元素 一、总结 一句话总结: 定时显示隐藏元素中,定时器函数可以写在mounted中,关闭显示隐藏效果可以用vue的$destroy()方法,可以在beforeDestroy中清除定时器避免内存泄漏 <div id="app"> <p v-show="isShow">
阅读全文
摘要:VUE参考 生命周期 一、总结 一句话总结: vue对象生命周期函数8个,初始化显示4个(create、mount),更新状态2个(update),销毁vue实例2个(destory),好记的很 a、初始化显示:beforeCreate()、created()、beforeMount()、mount
阅读全文
摘要:VUE实例课程 2、收集表单数据 一、总结 一句话总结: vue绑定表单数据比较方便,绑定了表单数据之后,可以很方便的用ajax把数据发送到后端 <div id="app"> <form action="" @submit.prevent="handleSubmit"> <div> <label f
阅读全文
摘要:VUE参考 收集表单数据 一、总结 一句话总结: vue绑定表单数据比较方便,绑定了表单数据之后,可以很方便的用ajax把数据发送到后端 <div id="demo"> <form action="/xxx" @submit.prevent="handleSubmit"> <span>用户名: </
阅读全文
摘要:VUE参考 事件处理 一、总结 一句话总结: *、vue绑定事件监听的时候,默认是带了event对象的:<button @click="test1">test1</button> *、事件处理中 按键修饰符 使用实例:<input type="text" @keyup.13="test7"> 1、v
阅读全文
摘要:VUE实例课程 1、计算属性实现列表的搜索和排序 一、总结 一句话总结: 计算属性实现列表的搜索和排序中:计算属性用于搜索的关键字变化之后自动更新列表数组,排序就是指定不同的排序标志,根据不同的排序字段来改变列表元素的顺序 <div id="app"> <label> 搜索名字:<input typ
阅读全文
摘要:VUE疑难问题 2、方法和计算属性的区别 一、总结 一句话总结: VUE中的方法和计算属性可以实现同样的功能,区别就是计算属性有基于响应式依赖的缓存(也就是计算属性依赖的数据改变缓存才会改变),而方法没有,需要缓存的话就用计算属性。 <div id="app"> <p>Original messag
阅读全文
摘要:VUE参考 计算属性和watch 一、总结 一句话总结: 计算属性:在computed属性对象中定义计算属性的方法,可以直接一个函数(只有get),或者一个对象(有get和set) watch:通过vm对象的$watch()或watch配置来监视指定的属性 <div id="demo"> 姓: <i
阅读全文
摘要:js中in关键字总结 一、总结 一句话总结: 1、for...in 对数组或对象的循环/迭代操作:对于数组循环出来的是数组元素;对于对象循环出来的是对象属性 2、判断对象是否是数组/对象的索引/属性名:格式(变量 in 对象):数组时是索引,对象时是属性名 二、js中in关键字的使用方法 转自或参考
阅读全文
摘要:js事件冒泡和事件捕获总结 一、总结 一句话总结: DOM事件标准定义了两种事件流:捕获和冒泡,冒泡是由下(当前节点)到上(根节点),捕获是由上(根节点)到下(当前节点), 1、事件捕获和事件冒泡? 事件冒泡:【当前节点到根元素】-【stopPropagation()阻止冒泡】:当事件在某一DOM元
阅读全文
摘要:webstorm 对 vue的设置 一、总结 一句话总结: 安装vue插件,可以setting-->plugin,搜索vue插件 二、关于webstorm 对 vue的设置 转自或参考:关于webstorm 对 vue的设置https://www.cnblogs.com/ssrsblogs/p/62
阅读全文
摘要:chrome的adblock插件报DevTools failed to parse SourceMap 一、总结 一句话总结: 最简单粗暴的方法就是关了Enable CSS source maps和Enable JavaScript source maps,方法就是打开控制台的情况下按f1 二、ch
阅读全文
摘要:textContent和innerText属性的区别 一、总结 一句话总结: ^、textContent 属性设置或者返回指定节点的文本内容。如果你设置了 textContent 属性, 任何的子节点会被移除及被指定的字符串的文本节点替换。 ^、innerHTML在JS是双向功能:获取对象的内容 或
阅读全文
摘要:CSS属性选择器 一、总结 一句话总结: CSS属性选择器是中括号,比如[love="you"] {color: red;},也比如vue中解决插值表达式的[v-cloak] [love] { color: green; } [love="me"] { color: red; } 二、CSS属性选择
阅读全文
摘要:href和src的定义与区别 一、总结 一句话总结: 1、href (Hypertext Reference)网络资源的位置,浏览器识别当前资源是一个样式表,页面解析不会暂停(由于浏览器需要样式规则去画或者渲染页面,渲染过程可能会被被暂停)。这与把css文件内容写在<style>标签里不相同,因此建
阅读全文
摘要:声明式编程与命令式编程总结 一、总结 一句话总结: 命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。 声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。 1、声明式编程与命令式编程实例? 命令式编程:比如用j
阅读全文
摘要:优秀的Vue UI组件库推荐 一、总结 一句话总结: ^、可以注意下Quasar,Quasar功能比较全,下次用的话试下这个,Bootstrap-Vue也同样可以注意下 ^、vue ui库省了我们把组件封装成vue组件的过程(当然也省了我找组件和调组件的过程),所以蛮可以节约开发效率 二、16款优秀
阅读全文
摘要:for...of与for...in的区别 一、总结 一句话总结: for...in 语句以任意顺序迭代对象的可枚举属性。 for...of 语句遍历可迭代对象定义要迭代的数据。 Object.prototype.objCustom = function() {}; Array.prototype.a
阅读全文
摘要:laravel疑难问题 5、laravel的api开发 一、总结 一句话总结: 写api的路由在routes文件夹下的api.php里面,访问的话记得在域名和路由中间接上api,例如 api.com/api/news <?php use Illuminate\Http\Request; use Il
阅读全文
摘要:laravel报403错误 一、总结 一句话总结: 配置解析的时候忘记指定public目录了 1、开发遇到错误的第一直觉? 查看开发日志,日志里面一般记录的比较详细 二、laravel报403错误 博客对应课程的视频位置: 1、效果图 2、原因 配置解析的时候忘记指定public目录了
阅读全文
摘要:JS数组常用方法 14、2个归并方法 一、总结 一句话总结: ES5中的归并方法有reduce()和reduceRight(),reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。reduce方法可做的事情特别多,就是循环遍历能做的,r
阅读全文
摘要:JS字符串常用方法(自) 10、总结 一、总结 一句话总结: JS字符串常用方法可以分为字符串去空格、字符串填充、字符串重复、子串、字符串分割、字符串大小写转换、字符串替换、字符串查找、字符串匹配几个方面,这样分了好记一点 1、js中四个和正则相关的方法? a、search(regexp) 方法执行
阅读全文
摘要:JS字符串常用方法(自) 9、字符串匹配 一、总结 一句话总结: 字符串匹配方法有match(regexp)和matchAll(regexp),区别是matchAll()方法返回的是一个迭代器 match(regexp) 作用:用正则表达式匹配字符串 参数:regexp(正则表达式) 返回值:返回匹
阅读全文
摘要:JS字符串常用方法(自) 8、字符串查找 一、总结 一句话总结: 字符串查找方法有6个,startsWith(searchString,position), endsWith(searchString,length), search(regexp), indexOf(searchValue,from
阅读全文
摘要:JS字符串常用方法(自) 7、字符串替换 一、总结 一句话总结: 字符串替换方法有replace(regexp,newSubStr),作用是用新的字符串替换原字符串中的内容,参数是regexp(正则表达式)和newSubStr(新的字符串) replace(regexp,newSubStr) 作用:
阅读全文
摘要:JS字符串常用方法(自) 6、字符串大小写转换 一、总结 一句话总结: js字符串大小写转换方法有toLowerCase()和toUpperCase(),就是分别将字符串转化成小写和大写 toLowerCase() 作用:将字符串转化成小写 参数:无 返回值:转换成小写的字符串 toUpperCas
阅读全文
摘要:JS字符串常用方法(自) 5、字符串分割 一、总结 一句话总结: 字符串分割方法是split(separator),separator(分割符),分隔符是字符串,可以是多个字符,返回值是分割成的数组 split(separator) 作用:将字符串分割成数组 参数:separator(分割符),分隔
阅读全文
摘要:JS字符串常用方法(自) 4、子串 一、总结 一句话总结: js获取子串的方法有string.slice(start, end)提取一个字符串,string.substring(start, end)提取一个字符串,end不支持负数 slice() 作用:对字符串进行切片 参数:必带beginInd
阅读全文
摘要:JS字符串常用方法(自) 3、字符串重复 一、总结 一句话总结: 字符串重复的函数是repeat(),作用是对字符串进行重复,参数是count(重复次数),返回值是成功操作的字符串。 repeat() 作用:对字符串进行重复 参数:count(重复次数) 返回值:重复操作之后的字符串 console
阅读全文
摘要:JS字符串常用方法(自) 2、字符串填充 一、总结 一句话总结: 字符串填充方法有padStart(左端填充字符)和padEnd(右端填充字符),参数是必带参数targetLength(目标长度)、可选参数padString(填充字符串),返回值是填充之后给定长度的字符串 padStart() 方法
阅读全文
摘要:JS字符串常用方法(自) 1、字符串去空格 一、总结 一句话总结: 字符串去空格函数有trim()(无参数,返回值去空格后的字符串),trimStart()(别名trimLeft()),trimEnd()(别名trimRight()) trim() 作用:trim() 方法会从一个字符串的两端删除空
阅读全文
摘要:深入分析PHP优化及注意事项 一、总结 一句话总结: 1、尽量静态化 2、尽量使用缓存,建议用memcached或者redis。 3、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。 二、深入分析PHP优化及注意事项 转自或参考:深入分析PHP优化及注意事项h
阅读全文
摘要:js逆向技巧 一、总结 一句话总结: 1、搜索;2、debug;3、查看请求调用的堆栈;4、执行堆内存中的函数;5、修改堆栈中的参数值;6、写js代码;7、打印windows对象的值;8、勾子 1. 搜索:全局搜索、代码内搜索2. debug:常规debug、XHR debug、行为debug3.
阅读全文
摘要:2020mysql面试题 一、总结 一句话总结: 还是得录课,系统的,效率才高,mysql优化课程 1、什么是子查询? 条件:一条SQL语句的查询结果做为另一条查询语句的条件或查询结果 嵌套:多条SQL语句嵌套使用,内部的SQL查询语句称为子查询。 2、子查询的三种情况? a、子查询是单行单列的情况
阅读全文
摘要:laravel中30 分钟未付款取消订单,怎么做 一、总结 一句话总结: 可以用redis:30分钟后过期--执行取消订单Cache::store('redis')->put('ORDER_CONFIRM:'.order−>id,order->id,30) 二、laravel中30 分钟未付款取
阅读全文
摘要:MySQL敏感数据加密及解密 一、总结 一句话总结: a、大数据时代的到来,数据成为企业最重要的资产之一,数据加密的也是保护数据资产的重要手段。 b、实际工作中可能要用加密、混淆等脱敏方法来保障数据安全。另外,很多情况下没有解密方式,即加密后的内容不可逆。 二、MySQL敏感数据加密及解密 转自或参
阅读全文
摘要:一次SQL查询优化原理分析(900W+数据,从17s到300ms) 一、总结 一句话总结: 操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段; 原理:减少回表操作; -- 优化前SQLSELECT 各种字段FROM `table_name`WHERE
阅读全文
摘要:MySQL引起的CPU消耗过大 一、总结 一句话总结: 用户+系统+IO等待+软硬中断+空闲 1、如何减少CPU消耗? 减少等待:减少IO量,提升IO处理能力 减少计算:减少逻辑运算量,减少逻辑IO量,减少query请求量(非数据库本身) 二、MySQL引起的CPU消耗过大 转自或参考:别怕!MyS
阅读全文
摘要:为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢 一、总结 一句话总结: 「在 MyISAM 存储引擎中,把表的总行数存储在磁盘上,当执行 select count(*) from t 时,直接返回总数据」。 「在 InnoDB 存储引擎中,跟 My
阅读全文
摘要:MySQL索引失效的几种场景 一、总结 一句话总结: 1、列类型是字符串,查询条件未加引号。 2、使用like时通配符在前 3、在查询条件中使用OR 4、对索引列进行函数运算 1、列类型是字符串,查询条件未加引号。card_code列是身份证号,数据类型是varchar,在没有将证件号码用引号括起时
阅读全文
摘要:Mysql性能优化三:主从配置,读写分离也是性能优化一大要点 一、总结 一句话总结: MySQL主从配置,实现读写分离,减轻数据库压力 还是要录课,不然真的没用,读写分离你都看了多少了 二、Mysql性能优化三:主从配置,读写分离也是性能优化一大要点 转自或参考: 大型网站为了缓解大量的并发访问,除
阅读全文
摘要:Mysql性能优化二:索引优化 一、总结 一句话总结: 索引适量,在查询的位置用索引,在维度高的列创建索引,可以去看优化课程视频 1、使用索引注意? 1、【创建索引会使查询操作变得更加快速,但是会降低增加、删除、更新操作的速度】:不要盲目的创建索引,只为查询操作频繁的列创建索引,创建索引会使查询操作
阅读全文
摘要:Mysql性能优化一:SQL语句性能优化 一、总结 一句话总结: 这个数据库性能优化,等到要用的时候补一补完全是可以(够的),主视频 1、考虑在 where 及 order by 涉及的列上建立索引? 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立
阅读全文
摘要:TCP/IP三次握手与四次挥手 一、总结 一句话总结: TCP/IP三次握手与四次挥手,照着实际的情况推一推就好了,还是要录课,不然深入不了,更加记不住 1、HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服
阅读全文
摘要:是什么让MVC悄然消失的 一、总结 一句话总结: 不是Struts没了,也不是SpringMVC没了,而是MVC这种架构模式被淘汰了。当时代抛弃你时,连一声再见都不会说。 1、MVC模式(Model–view–controller)? 模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对
阅读全文
摘要:legend3 29、热更新可以直接替换文件(文件少的话) 一、总结 一句话总结: 就不用直接github下面拿代码那一套复杂操作了 1、修改操作尽量不要修改原代码,而是增加(也就是设计模式中的开闭原则)? 修改操作尽量不要修改原代码,而是增加,比如个人中心的让人访问模式,比如个人中心不允许别人查看
阅读全文
摘要:日常英语 200412(generator) 一、总结 一句话总结: generator:英 /ˈdʒenəreɪtə(r)/ :n. 发电机;发生器;生产者 ES6实现异步的Generator函数 1、ES6实现异步的Generator函数的yield操作? yield:英 /jiːld/:v.
阅读全文
摘要:JS数组常用方法 21、includes() 一、总结 一句话总结: includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回false。参数是必带的valueToFind,和可选的fromIndex。includes() 方法和indexOf方法有点像,不
阅读全文
摘要:JS数组常用方法 19、fill() 一、总结 一句话总结: fill()方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。参数有必带参数value,可选参数起始索引和终止索引,返回值是修改后的数组,影响原数组 作用:fill()方法用一个固定值填充一个数组中从起始索引
阅读全文
摘要:JS数组常用方法 18、find()和findIndex() 一、总结 一句话总结: find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。参数是回调函数。 findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。参数是回调函数
阅读全文
摘要:JS数组常用方法 17、Array.of()方法 一、总结 一句话总结: Array.of()方法的作用是将一组值转变为数组,参数是要转换成数组的值,返回值是新的数组实例 Array.of() 作用:将一组值转变为数组 参数:要转换成数组的值,elementN 返回值:新的数组实例 let arr=
阅读全文
摘要:JS数组常用方法 16、Array.from()方法 一、总结 一句话总结: Array.from()方法的作用是将类数组或可迭代对象转换为数组,比如String、Map、伪数组等,必带的参数是arrayLike(想要转换成数组的伪数组对象或可迭代对象),Array.from()方法的返回值是新的数
阅读全文
摘要:关于JavaScript中[native code] 一、总结 一句话总结: 1、[native code] 意思已经很明确了:是 native 的代码实现的 built-in 函数,而不是 JavaScript 代码 2、An implementation-dependent representa
阅读全文
摘要:JS数组reduce()方法详解及高级技巧 一、总结 一句话总结: reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。reduce方法可做的事情特别多,就是循环遍历能做的,reduce都可以做,比如数组求和、数组求积、数组中元素出现的
阅读全文
摘要:JS中 reduce() 的用法 一、总结 一句话总结: reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。reduce方法可做的事情特别多,就是循环遍历能做的,reduce都可以做,比如数组求和、数组求积、数组中元素出现的次数、数组
阅读全文
摘要:JS数组常用方法 13、5个迭代方法 一、总结 一句话总结: es5中新增了5个迭代方法,分别是forEach(遍历数组),map(遍历加工数组),filter(遍历过滤数组),some(遍历检测部分元素是否满足条件),every(遍历检测是否全部元素满足条件) forEach() 作用:遍历数组
阅读全文
摘要:JS数组常用方法 12、2个索引方法 一、总结 一句话总结: indexOf()方法的作用是在数组中找到给定元素最开始出现的位置,lastIndexOf()方法是找到给定元素最后出现的位置,参数有必带的searchElement(要查找的元素),可选的fromIndex(要查找的位置),返回值是找到
阅读全文
摘要:JS数组常用方法 11、ES3及之前的方法总结 一、总结 一句话总结: 对学习内容进行总结之后,对学习和记忆都大有裨益,例如之前学的数组的10个方法可以总结为三类:a、修改数组:push、unshift、shift、pop、splice; b、改变数组元素顺序:sort、reverse; c、不影响
阅读全文
摘要:JS数组常用方法 10、splice方法 一、总结 一句话总结: splice方法是修改数组,可删可插可两者同时进行,参数第一个是必带的start(也就是数组的修改位置),第二个是可选的deleteCount,后面的参数就是要添加的元素,splice方法的返回值是被删除元素组成的数组,影响原数组 作
阅读全文
摘要:JS数组常用方法 9、slice方法 一、总结 一句话总结: slice方法的作用是对数组进行切片,参数有两个可选的,一个是切片的起始位置,一个是切片的终止位置,都可以为负数,slice方法的返回值是得到的切片数组,不影响原数组 作用:对数组进行切片 参数:begin(起始索引,可负数)、end(终
阅读全文
摘要:js浅拷贝和深拷贝 一、总结 一句话总结: 1、Array的slice和concat方法:Array、Object等引用类型还是浅拷贝 2、JSON对象的parse和stringify:只能处理四种基本类型:Number、String、Boolean、Null 3、jQuery.extend()方法
阅读全文
摘要:使用slice和concat对数组的深拷贝和浅拷贝 一、总结 一句话总结: slice和concat方法可以做数组的深度拷贝,原因是因为他们的返回值都是新的数组,但是他们只适合不包含引用对象的一维数组的深拷贝 1、slice,concat方法做深度拷贝的局限性? 当数组内部的值是引用类型例如Arra
阅读全文
摘要:JS数组常用方法 8、concat方法 一、总结 一句话总结: concat方法的作用是将值或者数组拼接成新数组,参数是0到n个值或数组,返回值是合并好的新数组,并且不会影响原数组 作用:将值或者数组拼接成新数组 参数:值或者数组(0个到n个) 返回值:返回合并好的新数组 是否影响原数组:不会改变原
阅读全文
摘要:JS数组常用方法 7、join方法 一、总结 一句话总结: join方法的作用是将一个数组(或一个类数组对象)的所有元素连接成一个字符串,参数是分割字符,返回值是连接号的字符串串,不影响原数组 作用:将一个数组(或一个类数组对象)的所有元素连接成一个字符串 参数:连接数值的分割参数,如果参数为空则是
阅读全文
摘要:js中将类数组转换为数组的几种方法 一、总结 一句话总结: 1、Array的slice方法,例如:Array.prototype.slice.call(arguments); 2、Array.from(),例如:let arr = Array.from(arguments);3、 3、扩展运算符..
阅读全文
摘要:JS 使用const声明常量的本质(很多人都有误解) 一、总结 一句话总结: 1、const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。 2、但对于复合类型的数据(主要是对象和
阅读全文
摘要:JS中对象数组按照对象的某个属性进行排序 一、总结 一句话总结: js中的数组中的对象排序很简单,根据对象的属性指定排序规则即可,如果出问题就仔细检查一下中间数据 functon sortRule(a,b) { return a.value- b.value; } 1、sort的排序函数中,规定属性
阅读全文
摘要:vue源码分析参考 2、数据代理 一、总结 一句话总结: vue数据代理: data对象的所有属性的操作(读/写)由vm对象来代理操作 const vm = new MVVM({ el: "#test", data: { name: '张三2' } }) console.log(vm.name) /
阅读全文
摘要:vue源码分析参考 1、准备工作 一、总结 一句话总结: 可以直接剖析 github 上某基友仿 vue 实现的 mvvm 库(https://github.com/DMQ/mvvm),用这个分析vue的原理更加简单,弄懂这个再去看vue源码会很简单 1、分析vue源码 策略? 可以直接剖析 git
阅读全文
摘要:ES6课程 5、形参默认值 一、总结 一句话总结: 形参默认值就是给函数的形参指定默认的参数,如果传参数进来了,就用传进来的参数,如果没有传递参数进来,就用默认值,比如 function Point(x=0,y=0) {} function Point(x=0,y=0) { this.x=x; th
阅读全文
摘要:ES6课程 4、对象的简写方式 一、总结 一句话总结: 在es6中,在对象中,对于属性名和属性值是一样的情况,可以省略同名的属性,在对象的方法中,可以省略掉冒号和function let name="林黛玉"; let age=14; let linDaiYu={ //name:name, name
阅读全文
摘要:js逆向解析技巧 一、总结 一句话总结: 1、chrome浏览器的使用--js断点调试 找到js加密的关键部位 2、使用execjs或者pyV8等比较主流的python调用js模块 以对美团店铺抓取时需要破解的_token加密为准。 二、js逆向解析技巧 转自或参考:js逆向解析技巧--seleni
阅读全文
摘要:Js逆向分析 一、总结 一句话总结: 1、知道如何寻找登录接口 2、知道如何确定Js的位置 3、知道如何观察js的执行过程 4、知道js的执行方法 1、js逆向分析一般过程? 1、知道如何寻找登录接口 2、知道如何确定Js的位置 3、知道如何观察js的执行过程 4、知道js的执行方法 2、Js逆向分
阅读全文
摘要:JavaScript箭头函数中的this详解 一、总结 一句话总结: An arrow function does not have its own this. The this value of the enclosing lexical scope is used; arrow function
阅读全文
摘要:ES6课程 3、let和const 一、总结 一句话总结: let关键字是es6中用来定义变量的,const关键字是es6中用来定义常量的,他们都不可以重复声明,他们都是块级作用域,他们就是es6中用来替代var关键字来声明变量和常量的 1、var关键字定义变量的不足? 1、var关键字可以重复声明
阅读全文
摘要:Javascript进阶课程 3、构造函数创建对象的不足 一、总结 一句话总结: 使用构造函数创建对象的不足就是会浪费资源,因为我们每次使用构造函数创建对象的时候,构造函数中的方法(比如say方法)都会被创建,如果我们要创建10000个对象,那么say方法也就会创建10000次,而每个say方法都是
阅读全文
摘要:ES6课程 2、ES5严格模式 一、总结 一句话总结: a、除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode),这种模式使得Javascript在更严格的语法条件下运行 b、使用就是script标签的最前面部分加句话'use strict'; 1、严格模
阅读全文
摘要:ES6课程 1、ECMAScript介绍 一、总结 一句话总结: es是ECMAScript,是标准,js是es的实现 1、ES的几个重要版本? *、ES5 : 09年发布 *、ES6(ES2015) : 15年发布, 也称为ECMA2015 *、ES7(ES2016) : 16年发布, 也称为EC
阅读全文
摘要:laravel缓存事件(比如监听缓存失效) 一、总结 一句话总结: 缓存是有缓存事件的,比如cache.hit、cache.missed、cache.write、cache.delete 要在每次缓存操作时执行相应程序,你可以监听缓存触发的事件,通常,你可以将这些缓存处理器代码放到EventServ
阅读全文
摘要:sleep实现原理 一、总结 一句话总结: a、sleep():Linux中并没有提供系统调用sleep(),sleep()是在库函数中实现的,它是通过调用alarm()来设定报警时间,调用sigsuspend()将进程挂起在信号SIGALARM上,sleep()只能精确到秒级上。 b、nanosl
阅读全文
摘要:定时器的使用和原理浅析,alarm/sleep函数 一、总结 一句话总结: alarm函数(进程不阻塞):使用alarm函数和signal函数,要注册信号处理回调函数,就是说进程并没有被睡眠,处理动作是以信号的形式注册到内核中,当时间到时,以信号的方式打断进程,进入信号处理程序。 sleep函数(进
阅读全文
摘要:使用 Laravel 的 监听者模式实现缓存机制的松散耦合 一、总结 一句话总结: 1、既然要实现松散耦合的缓存机制,那就是要做到有没有缓存都没事。有缓存的话就走缓存,然后那边的模块内部实现一个包括过期时间呀啥啥的缓存机制,没有收到缓存模块的响应的时候就继续走原来的应用逻辑,一样可以正常响应。 2、
阅读全文
摘要:laravel通过 Redis 定时执行脚本 一、总结 一句话总结: 方法一:通过监听 redis 的 key 失效事件,来定时进行业务逻辑操作。 方法二:第一种方式由于很吃 Redis 的稳定性,万一 Redis 的服务可不用那么,将有一部分的数据丢失,所以改进一下 Redis 使用方式 - 有序
阅读全文
摘要:PHP 常量定义以及用法 一、总结 一句话总结: define:define是函数,不能在对象中定义,但可在类中定义使用:define('CL',10); static静态常量:是一个变量,可以常量的语法访问,就是::,可以没有实例化也能访问:public static $a = "呵呵"; con
阅读全文
摘要:legend3 28、缓存优化的几种策略 一、总结 一句话总结: 1、数据库和缓存同时更新,用更新好的数据库来更新缓存,这种数据最准确:比如评论数量,比如用户点赞、收藏 2、数据库和缓存同时更新,是同时更新数据库和更新缓存,不是用数据库来更新缓存(相比于上一种,少了一次查数据库的操作): 3、只更新
阅读全文
摘要:legend3 27、清除无用或者多余图片 一、总结 一句话总结: 清除无用或者多余图片很简单,可以直接遍历数据库,可以找到有用的图片的链接,在此基础上就可以很方便的删除无用的图片 1、cdn加速oss域名配置问题(域名解析的时候是域名指向oss,还是域名指向cdn)? 一个域名只能配一条解析记录,
阅读全文
摘要:laravel字段排除功能 一、总结 一句话总结: 字段排除功能可以不需要,需要查啥自己手动写在sql里面 首先你要知道你表里所有的字段,这样才能进行排除。知道表里的所有字段的方式我能想到的有两种,一种是写死在你的 Model 里,还有一种是去数据库查询一遍。两种都有弊端. 第一种写死,如果你数据库
阅读全文
摘要:legend3 laravel缓存操作基本模板 一、总结 一句话总结: 将存储缓存的操作弄出来,这样一些修改的位置可以强制刷新缓存(比如课程评论数量,在用户评论课程的时候就可以强制刷新) 1、缓存数据的时候,缓存的数据的结果不要是null? 因为我们判断缓存是否存在的时候判断的是这个缓存的结果是不是
阅读全文
摘要:legend3 laravel分页缓存问题 一、总结 一句话总结: laravel缓存分页数据的时候,就算在model中,paginate分页从数据库中获取数据还是可以获取到分页数据的,我们需要关注的就是找到分页参数,然后按分页参数缓存好数据即可 $request = request()->toAr
阅读全文
摘要:Javascript进阶课程 2、使用构造函数创建对象 一、总结 一句话总结: 构造函数也是一个函数,只不过是一个特殊的函数,构造函数的函数名的首字母大写,我们一般创建对象都是使用构造函数方式,构造函数创建对象的时候要用new关键字:例如var zhuBaJie=new People('猪八戒',4
阅读全文
摘要:array_random 从一个数组中随机去几个,可以保持原数组顺序 一、总结 一句话总结: 也就是array_random 的结果数组不会被打乱 //从推荐课程列表中随机选出 recommendlessonnum个//计算总课程数量now_lesson_num=count($less
阅读全文
摘要:黑马lavarel教程 9、缓存操作 一、总结 一句话总结: legend2项目中自己写的哪些文件操作都可以通过这里的缓存实现,简单方便 1、lavarel中如何使用后端主流的缓存如 Memcached 和 Redis 等? 在配置文件 config/cache.php中指定缓存驱动即可 2、系统默
阅读全文
摘要:php中常量的作用范围 一、总结 一句话总结: 常量是自动全局的,而且可以贯穿整个脚本使用 二、php的常量 、变量和作用域 转自或参考:php的常量 、变量和作用域https://www.cnblogs.com/keeye/p/12588187.html 一、变量 1.变量是存储信息的容器 2.在
阅读全文
摘要:JavaScript声明变量时为什么要加var关键字 一、总结 一句话总结: 【隐式声明的变量这种bug难以被发现】:比如说在代码中的某一行,我想使用的一个已声明的变量x,结果由于打字或者拼写错误,这个变量被写成y了,结果相当于“隐式”声明了一个变量y,在实际编程过程中,这种错误有时比较难以发现。
阅读全文
摘要:php单元测试入门教程 一、总结 一句话总结: phpunit本身就是由php语言实现,其使用是通过命令行进行的,并不是通过浏览器访问 二、php单元测试入门教程phpunit详解_PHP_云客的技术博客-CSDN博客 转自或参考:php单元测试入门教程phpunit详解_PHP_云客的技术博客-C
阅读全文
摘要:JSON.stringify()和JSON.parse() 一、总结 一句话总结: JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串,而JSON.parse()可以将JSON字符串转为一个对象。 1、JSON.stringify()让localStora
阅读全文
摘要:FontAwesome动态旋转图标类(fa-spin&fa-pulse) 一、总结 一句话总结: fa-spin类:将"fa-spinner"这个图标旋转起来,形成一个连续流畅的旋转动画效果。 fa-pulse类:将"fa-spinner"这个图标以八步为周期旋转起来,形成一个不太流畅的旋转动画效果
阅读全文
摘要:laravel疑难问题 4、phpstorm中如何配置phpunit(单元测试) 一、总结 一句话总结: 在phpstorm中设置phpunit环境,主要是设置一下phpstorm中的php的CLI Interpreter(命令行解释器),因为phpunit是命令行工具 1、phpunit特点? p
阅读全文
摘要:phpstorm常用配置和快捷键 一、总结 一句话总结: *、常用配置有安装插件、配置命令行、配置php单元测试等 *、常用快捷键有 ctrl+e、ctrl+j、ctrl+f12、ctrl+alt+l等 1、php常用快捷键? a、ctrl+e:常用文档 b、ctrl+j:代码提示:比如输入b4,按
阅读全文