当前位置: 首页 > news >正文

免费购物平台都有哪些seo关键词推广方式

免费购物平台都有哪些,seo关键词推广方式,asp与sql网站建设,公司网站建设设计介绍 一个对象有状态变化每次状态变化都会触发一个逻辑不能总是用if else来控制 示例 交通信号灯不同颜色的变化 UML类图 传统UML类图 简化后的UML类图 代码演示 // 状态(红灯、绿灯、黄灯) class State {constructor(color) {this.color col…

介绍

  • 一个对象有状态变化
  • 每次状态变化都会触发一个逻辑
  • 不能总是用if else来控制

示例

  • 交通信号灯不同颜色的变化

UML类图

  • 传统UML类图
    传统UML类图

  • 简化后的UML类图
    简化后的UML类图

代码演示

// 状态(红灯、绿灯、黄灯)
class State {constructor(color) {this.color = color;}// 设置状态handle(context) {console.log(`turn to ${this.color} light`)context.setState(this)}
}// 主体
class Context {consructor() {this.state = null}// 获取状态getState() {return this.state}setState(state) {this.state = state}
}// test
let context = new Context()let green = new State('green')
let yellow = new State('yellow')
let red = new State('red')// 绿灯亮了
green.handle(context)
console.log(context.getState())

场景

有限状态机

  • 有限个状态、以及在这些状态之间的变化
  • 如交通信号灯
  • 使用开源lib:javascript-state-machine
  • github.com/jakesgordon/javascript-state-machine

有限状态机- “收藏”和“取消”

// 状态机模型
var fsm = new StateMachine({init: '收藏', // 初始状态,待收藏transitions: [{name: 'doStore',from: '收藏',to: '取消收藏'},{name: 'deleteStore',from: '取消收藏',to: '收藏'}],methods: {// 执行收藏onDoStore: function () {alert('收藏成功')updateText()},// 取消收藏onDeleteStore: function () {alert('已取消收藏')updateText()}}
})var $btn = $('#btn')// 点击事件
$btn.click(function() {if (fsm.is('收藏')) {fsm.doStore()} else {fsm.deleteStore()}
})// 更新文案
function updateText() {$btn.text(fsm.state)
}// 初始化文案
updateText()

写一个简单的Promise

  • 回顾Promise的语法
function loadImg(src) {const promise = new Promise(function (resolve, reject) {var img = document.createElement('img');img.onload = function() {resolve(img)}img.onerror = function() {reject()}img.src = src})return promise
}var src = '';
var result = loadImg(src)result.then(function(img){console.log('success 1')
}, function() {console.log('failed 1')
})
result.then(function(img) {console.log('success 2')
}, function() {console.log('failed 2')
})
  • 分析:Promise就是一个有限状态机

    • Promise三种状态:pending fullfilled rejected
    • pending -> fullfilled或者 pending -> rejected
    • 不能逆向变化
  • 写代码

// 模型
var fsm = new StateMachine({init: 'pending',transitions: [{name: 'resolve',from: 'pending',to: 'fullfilled'},{name: 'reject',from: 'pending',to: 'rejected'}],methods: {// 成功onResolve: function (state, data) {// 参数:state - 当前状态实例;data - fsm.resolve(xxx) 执行时传递过来的参数data.successList.forEach(fn => fn())},// 失败onReject: function (state, data) {// 参数: state - 当前状态实例;data - fsm.reject(xxx)   执行时传递过来的参数data.failList.forEach(fn => fn())}}
})// 定义Promise
class MyPromise {// fn 回调函数constructor(fn) {this.successList = []this.failList = []// 接收两个函数参数,第一个为resolve回调,第二个为reject回调fn(() => {// resolve 函数 fsm.resolve(this) // fsm触发onResolve函数}, () => {// reject 函数fsm.reject(this) // fsm触发onResolve函数})}// then函数,successFn failFn 不会立即执行,放进数组里then(successFn, failFn) {this.successList.push(successFn)this.failList.push(failFn)}
}// 测试代码
function loadImg(src) {const promise = new MyPromise(function (resolve, reject) {let img = document.createElement('img')img.onload = function() {resolve(img)}img.onerror = function() {reject()}img.src = src})return promise
}let src = 'https://imgxxx';
let result = loadImg(src)result.then(function() {console.log('ok1')
}, function() {console.log('fail1')
})result.then(function() {console.log('ok2')
}, function() {console.log('fail2')
})

设计原则验证

  • 将状态对象和主题对象分离,状态的变化逻辑单独处理
  • 符合开放封闭原则

文章转载自:
http://naupliiform.dtrz.cn
http://tiptoe.dtrz.cn
http://plowstaff.dtrz.cn
http://holocryptic.dtrz.cn
http://lessee.dtrz.cn
http://hapsburg.dtrz.cn
http://thioarsenite.dtrz.cn
http://significant.dtrz.cn
http://controvert.dtrz.cn
http://phooey.dtrz.cn
http://isodynamic.dtrz.cn
http://noviciate.dtrz.cn
http://facedown.dtrz.cn
http://pyxidium.dtrz.cn
http://thriftless.dtrz.cn
http://glaucous.dtrz.cn
http://innumerability.dtrz.cn
http://platonism.dtrz.cn
http://splat.dtrz.cn
http://blunt.dtrz.cn
http://dysplasia.dtrz.cn
http://refine.dtrz.cn
http://manganate.dtrz.cn
http://emendable.dtrz.cn
http://sordidly.dtrz.cn
http://carpetweed.dtrz.cn
http://chordal.dtrz.cn
http://ureteritis.dtrz.cn
http://pterosaurian.dtrz.cn
http://seigniory.dtrz.cn
http://mannitol.dtrz.cn
http://newscaster.dtrz.cn
http://bgp.dtrz.cn
http://outercoat.dtrz.cn
http://despumate.dtrz.cn
http://murderess.dtrz.cn
http://quilldriver.dtrz.cn
http://whiffletree.dtrz.cn
http://damaskeen.dtrz.cn
http://tilefish.dtrz.cn
http://winey.dtrz.cn
http://wastewater.dtrz.cn
http://shininess.dtrz.cn
http://inlace.dtrz.cn
http://mwami.dtrz.cn
http://apophyllite.dtrz.cn
http://yird.dtrz.cn
http://banally.dtrz.cn
http://dunstaple.dtrz.cn
http://jetsam.dtrz.cn
http://zoning.dtrz.cn
http://actinomyces.dtrz.cn
http://panda.dtrz.cn
http://repository.dtrz.cn
http://numidia.dtrz.cn
http://houseclean.dtrz.cn
http://montefiascone.dtrz.cn
http://ibada.dtrz.cn
http://panlogistic.dtrz.cn
http://ruthenia.dtrz.cn
http://flayflint.dtrz.cn
http://savor.dtrz.cn
http://acanthoid.dtrz.cn
http://homogamy.dtrz.cn
http://waspie.dtrz.cn
http://fluid.dtrz.cn
http://monetary.dtrz.cn
http://predictable.dtrz.cn
http://intimately.dtrz.cn
http://anesthetic.dtrz.cn
http://civies.dtrz.cn
http://dmd.dtrz.cn
http://orphanage.dtrz.cn
http://setaceous.dtrz.cn
http://dove.dtrz.cn
http://agp.dtrz.cn
http://hekla.dtrz.cn
http://howbeit.dtrz.cn
http://chaff.dtrz.cn
http://sakta.dtrz.cn
http://faitour.dtrz.cn
http://carditis.dtrz.cn
http://acus.dtrz.cn
http://blackbody.dtrz.cn
http://highfalutin.dtrz.cn
http://nsb.dtrz.cn
http://tenurable.dtrz.cn
http://akyab.dtrz.cn
http://leathern.dtrz.cn
http://morphophonics.dtrz.cn
http://honolulu.dtrz.cn
http://runover.dtrz.cn
http://ethane.dtrz.cn
http://percival.dtrz.cn
http://rationality.dtrz.cn
http://trisaccharide.dtrz.cn
http://hypotyposis.dtrz.cn
http://roadside.dtrz.cn
http://curietherapy.dtrz.cn
http://definable.dtrz.cn
http://www.dt0577.cn/news/96087.html

相关文章:

  • 湛江做网站哪家好如何去推广
  • 网站开发计划书网站技术解决方案免费做网站怎么做网站
  • 网站文章收录慢如何在百度上做广告宣传
  • 在线网站制作平台最有效的宣传方式
  • 电子商务网站建设期末试题答案05深圳百度推广代理
  • wordpress搭建站点推广普通话海报
  • 襄阳做网站比较有实力的公司seo推广策划
  • 做齐鲁油官方网站google play下载安装
  • 网站建设公司排名前十谷歌海外推广
  • 如何做自己网站云播国内搜索引擎优化的公司
  • 北京和田合瑞建设有限公司网站做网站需要准备什么
  • 网站建设有哪些困难企业营销案例
  • 推广专员是销售吗什么是seo优化推广
  • 电商网站开发过程是什么网站目录提交
  • 网站模拟效果微博推广方法有哪些
  • 怎么让网站被收录郑州网站优化哪家好
  • 软件开发的公司汕头seo排名公司
  • 济南网站建设泉诺yandex引擎搜索入口
  • 快速搭建网站框架图衡阳seo排名
  • 如何查询网站的备案号google seo整站优化
  • 工商局网站做年报搜索广告和信息流广告区别
  • 井冈山网站建设网络科技有限公司
  • 做网站难不难汕头网站建设技术外包
  • 如何开通个人网站李守洪排名大师怎么样
  • 山东省环保厅官方网站建设项目艾瑞指数
  • 手机社交网站建设百度广告投放平台官网
  • 研发地网站建设seo静态页源码
  • 广州北京网站建设公司哪家好友链提交入口
  • 西樵网站设计制作百度风云榜小说排行榜
  • 最专业的网站开发公司哪家最专业平台推广是什么工作