前端
请叫我萝卜斯基先生
意之所在,能量随来
https://github.com/luobosiji/blog
展开
-
理解对象&原型链实现继承 porortype __proto__
理解对象&继承创建对象的两种方式new Object()字面量 {}对象的属性类型数据属性(包含数据值)数据属性的特性configurabale true 能否delete 或修改数据特性(只能修改一次)enumerable true 能否通过for-in遍历writable true 能否改值value undefined 值访问器属性(不包含...原创 2019-04-15 17:27:46 · 436 阅读 · 0 评论 -
Vuex
Vuex 状态管理运行机制Vuex 使用npm install vuex --saveimport Vuex from 'vuex'Vue.use(Vuex)const app = new Vue({ el: '#app', // 把 store 对象提供给 “store” 选项,这可以把 store 的实例注入所有的子组件 //需调用 Vue.use(Vuex) s...原创 2019-05-30 14:12:23 · 192 阅读 · 0 评论 -
Vue组件跨层级获取组件实例
this.$parent 访问父实例this.$children 当前实例的直接子组件。(不保证顺序,不是响应式)this.$parent.$parent.$refs.xxx 跨级访问父组件this.$children.$children.$refs.xxx 跨级访问子组件这种递归的方式 代码繁琐 性能低效ref只能获取当前组件上下文组件 无法跨层级ref 是字符串 被用来给...原创 2019-05-30 14:09:46 · 7178 阅读 · 0 评论 -
Vue组件跨层级通信
**组件跨层级通信**原创 2019-05-30 14:07:59 · 3006 阅读 · 0 评论 -
web离线应用
离线应用确保设备可以上网,访问一定的资源离线检测navigator.onLine //true 表示可以上网//网络从离线变为在线触发window.addEventListener('online',function(){})//网路从在线变为离线触发window.addEventListener('offline',function(){})有一块本地空间用于保存数据,...原创 2019-04-18 15:29:38 · 588 阅读 · 0 评论 -
编写JavaScript实践
最佳实践编写可维护代码(直观性/可理解性/可适应性/可扩展性/可调试性)代码约定注释(增加可读性)有意义的函数名/变量名变量名应为名词函数名应该以动词开头 如get… ,返回值为布尔 is…避免无用变量名变量类型透明(初始化指定变量类型)松散耦合html/JavaScript 解耦(通过外部引入)css/JavaScript 解耦(通过修改类名 来操作样式)...原创 2019-04-18 15:28:33 · 203 阅读 · 0 评论 -
数据存储
数据存储Cookie存储限制: 4kb 20个最初是在客户端用于存储会话信息的在性质上是绑定在特定域名下的当设定cookie后,在给创建它的域名发送请求时,都会包含这个cookie所以 cookie越大完成服务器请求时间就越长Set-Cookie: name=value; expires=Mon, 22-Jan-07 07:10:24 GMT; domain=.wrox.co...原创 2019-04-18 15:26:20 · 92 阅读 · 0 评论 -
setTimeout&setInterval
定时器因为JavaScript是运行于单线程环境中,所以定时器的执行时机是不能保证的除了主JavaScript进程外, 还有一个需要在进程下一次空闲时执行的代码队列,代码会按照执行顺序加入队列setTimeout()工作方式: 特定时间后将代码插入到队列中,如果在这个时间点上,队列中没有其他东西,那么就会被执行,如果有其它任务执行, 则等到其它任务执行完毕才会执行setInte...原创 2019-04-17 09:00:03 · 85 阅读 · 0 评论 -
高级函数(函数节流&自定义事件)
高级函数安全类型检测typeofinstanceofObject.prototype.toString.call(value) == "[object Array]"toString() 方法只能检测原生对象惰性载入函数函数执行的分支只会加载一次//方法一:function fun(){ if(tureOrFalse){ fun = function(){ ...原创 2019-04-17 08:53:57 · 171 阅读 · 0 评论 -
Function
Function 类型函数声明与函数表达式代码开始执行之前,解析器就通过函数声明提升将函数声明添加到执行环境中函数表达式不存在函数声明提升 因为函数位于初始化语句中fun() //正常执行function fun(){ //这是函数声明}fun2() //报错 'unexpected identifier' 意外标识符var fun2 = function(){ //这...原创 2019-04-14 09:54:25 · 373 阅读 · 0 评论 -
Array usage
Array类型如何确定某个对象是不是数组 ?value instanceof Array 一个全局作用域下使用Array.isArray() 多个全局作用域下使用(如多个框架)栈方法通过push() + pop()数组可以表现的像栈一样,先进后出push() 方法在数组末尾添加数据pop() 方法从数组末尾移除数据队列方法通过shift() + unshift()...原创 2019-04-14 09:30:19 · 114 阅读 · 0 评论 -
JavaScript 执行环境
JavaScript 执行环境每个执行环境都关联一个变量对象,环境中定义的所有变量和函数都保存在这个对象中定义了变量或函数有权访问的其它数据在web浏览器中,全局执行函数被认为是window对象全局执行环境(最外围的执行环境)直到应用程序退出才会销毁(关闭网页)每个函数都有自己的执行环境当执行流进入一个函数时,函数的环境会被推入环境栈中函数执行之后,栈将其环境推出,把控制前...原创 2019-04-14 08:16:13 · 187 阅读 · 0 评论 -
记忆 - Memoization & 优化计算
记忆 - Memoization主要用于加速程序计算的一种优化技术函数可以将先前操作记录到某个对象中,从而避免无谓的重复运算// 采用记忆方式(计算数据越大越有优势)var memoizer = function(memo, formula) { var recur = function(n) { var result = memo[n] if (typeof re...原创 2019-04-20 16:56:29 · 192 阅读 · 0 评论 -
Ajax&XMLHttpReuqest&跨域
XMLHttpReuqestAjax核心技术 简称XHR//不考虑兼容性var xhr = new XMLHttpRequest(); //监听响应 每当 readyState(存有 XMLHttpRequest 的状态)改变时,就会触发 onreadystatechange 事件。xhr.onreadystatechange=function(){ if (xhr.rea...原创 2019-04-16 16:55:21 · 144 阅读 · 0 评论 -
Vue-Router基础
Vue Router官方的路由管理器,让构建单页面应用变得易如反掌。传统方式通过切换url,来切换到不同文件SPA通过监听URL变化,定位到同一文件的不同组件类型Hash模式 (不美观/无法定位锚点)History模式(需要后端配合/IE9不兼容(使用强制刷新处理))安装npm install vue-routerimport VueRouter ...原创 2019-05-30 14:13:18 · 156 阅读 · 0 评论