m.lom599.com_手机版乐白家网址_乐百家手机首页登录

JavaScript设计模式经典之工厂模式

作者: 手机版乐白家网址  发布:2019-07-13

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

一、工厂模式概念

原生的addClass, removeClass, hasClass函数,未使用jquery

而cookie是运行在客户端的,所以可以用JS来设置cookie。

工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型(抽象工厂)。

class.js

js设置cookie方法汇总:

这个模式十分有用,尤其是创建对象的流程赋值的时候,比如依赖于很多设置文件等。并且,你会经常在程序里看到工厂方法,用于让子类定义需要创建的对象类型。

function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\s|^)' cls '(\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className  = " " cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\s|^)' cls '(\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

//call the functions
addClass(document.getElementById("test"), "test");
removeClass(document.getElementById("test"), "test")
if(hasClass(document.getElementById("test"), "test")){//do something};

第一种:

二、工厂模式的作用和注意事项

您可能感兴趣的文章:

  • js实现addClass,removeClass,hasClass的函数代码
  • javascript自定义的addClass()方法
  • 使用JS实现jQuery的addClass, removeClass, hasClass函数功能
  • 原生js实现addClass,removeClass,hasClass方法
<script>
//设置cookie
function setCookie(cname, cvalue, exdays) {
 var d = new Date();
 d.setTime(d.getTime()   (exdays*24*60*60*1000));
 var expires = "expires=" d.toUTCString();
 document.cookie = cname   "="   cvalue   "; "   expires;
}
//获取cookie
function getCookie(cname) {
 var name = cname   "=";
 var ca = document.cookie.split(';');
 for(var i=0; i<ca.length; i  ) {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1);
  if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
 }
 return "";
}
//清除cookie 
function clearCookie(name) { 
 setCookie(name, "", -1); 
} 
function checkCookie() {
 var user = getCookie("username");
 if (user != "") {
  alert("Welcome again "   user);
 } else {
  user = prompt("Please enter your name:", "");
  if (user != "" && user != null) {
   setCookie("username", user, 365);
  }
 }
}
checkCookie(); 
</script>

模式作用:

第二种:

1、对象构建十分复杂--我们穿鞋很简单,但是制作鞋子的过程十分复杂

本文由m.lom599.com发布于手机版乐白家网址,转载请注明出处:JavaScript设计模式经典之工厂模式

关键词: m.lom599.com 乐百家loo88