渣渣大星星的学习笔记


  • Home

  • Categories

  • About

  • Archives

  • Tags

Vue入门(3)- 组件

Posted on 2019-08-26 | In Vue入门
定义组件全局注册 因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data(必须是一个函数)、computed、watch、methods以及生命周期钩子等 需要注意的是组件模板需要被一个根元素包裹,而且组件名称建议使用短横线分隔命名: 123<div id="learning-vue"> <button-counter></button-counter></div> 123456789// 定义一个名为 bu ...
Read more »

Vue入门(2)- 计算属性

Posted on 2019-08-25 | In Vue入门
计算属性就是依赖的值更新的时候,这个值也会更新,与之相关的DOM也会更新。(在插值中的复杂逻辑运算,应该使用计算属性)。 123<p>{{message}}</p><p>reversed message: "{{ reversedMessage }}"</p><p>function reversed message :{{reversed ...
Read more »

Vue入门(1)-插值与指令

Posted on 2019-08-25 | In Vue入门
项目git地址,按标题提交版本 安装 通过script标签引入CDN文件 npm install vue –save-dev bower install vue –save-dev 或使用vue-cli工具 1$ npm install -g @vue/cli 这里选择引入CDN的JS文件 1<script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script> 这个是未压缩版本,压缩版本只 ...
Read more »

JavaScript设计模式-观察者模式

Posted on 2019-08-25 | In JavaScript设计模式
定义观察者模式指的是一个对象(Subject)维持一系列依赖于它的对象(Observer),当有关状态发生变更时 Subject 对象则通知一系列 Observer 对象进行更新。 单向解耦,发布者不需要清楚订阅者何时何地订阅,只需要维护订阅队列,发送消息即可。 实现12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849// 目标者类class Subject { ...
Read more »

JavaScript设计模式-发布订阅模式

Posted on 2019-08-25 | In JavaScript设计模式
定义发布订阅模式理念和观察者模式相同,但是处理方式上不同:订阅者把自己想订阅的事件注册到调度中心,当该事件触发时候,发布者发布该事件到调度中心(顺带上下文),由调度中心统一调度订阅者注册到调度中心的处理代码。 双向解耦,发布者和订阅者都不用清楚对方,全部由订阅中心做处理。 实现12345678910111213141516171819202122232425262728293031323334353637383940414243var Event = (function () { ...
Read more »

JavaScript设计模式-享元模式

Posted on 2019-08-24 | In JavaScript设计模式
定义它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。 实现假设一个一个情景, 有男女服装个100套, 需要租模特来试穿衣服, 传统做法就是男女各找100个模特试穿每一见衣服 123456789101112131415161718// 雇佣模特let HireModel = function(sex,clothe ...
Read more »

JavaScript设计模式-单例模式

Posted on 2019-08-24 | In JavaScript设计模式
定义保证一个类只有仅有一个实例,并提供一个全局访问它的访问点。 其实就是把实例存下来,下次获取的时候,返回被存下的实例。 实现方式不透明的单例模式 必须通过Singleton.getInstance获取Singleton的实例,跟以往的使用new关键字获取实例不同 1234567891011121314151617var Singleton = function(name){ this.name = name; this.instance = null;}Si ...
Read more »

数据劫持

Posted on 2019-08-22 | In es6
Object.defineProperty 使用Object.defineProperty对劫持访问器,在属性发生变化的时候会调用访问器方法。 12345678910111213141516171819var scope = { name: 'qinhanwen',}Object.keys(scope).forEach(item => { Object.defineProperty(scope, item, { config ...
Read more »

TypeScript-3

Posted on 2019-08-19 | In TS
tsconfig.json如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录。 tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项。 可以手动创建tsconfig.json文件,也也可以通过tsc —init创建。 可以通过 compilerOptions 来定制编译选项,这边就写一点常见(我常见)的: 123456789101112131415161718192021222324252627282930313233 ...
Read more »

TypeScript-2

Posted on 2019-08-15 | In TS
TypeScript面向对象编程SOLID(下面的首字母简写)原则 职责单一原则(SRP):组件(函数、类、模块)专注于单一任务,这样容易看出类做了哪些事情。类的属性通常描述对象的特征,方法通常描述对象行为。如果拥有过多属性和方法,就要考虑是否职责单一(比如Person类有名字、性别、电话、说hello的方法。那么验证电话号码正确性的方法,应该抽成另外一个类里。) 开/闭原则(OCP):时刻考虑到代码的扩展性(就是新增功能时候,能够最小程度修改代码) 里氏替换原则(LSP):派生类对象替换基类对 ...
Read more »
1…678…18
秦瀚文

秦瀚文

172 posts
48 categories
48 tags
© 2020 秦瀚文
Powered by Hexo
Theme - NexT.Muse