javascript
huizhang.
EasySwoole开发组成员
展开
-
js简单实现通用组件
目录结构BaseComponent.jsclass BaseComponent { props = { elementId: '' }; constructor(props) { this.props = props; document.getElementById(this.props.elementId).innerHTML = this.render(); this.events(); }原创 2021-02-21 15:58:11 · 459 阅读 · 1 评论 -
注册模式
简介 注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。代码<?phpclass Register{ protected static $objects; function set($alias,$object)//将对象注册到全局的树上 {原创 2017-12-14 17:27:23 · 511 阅读 · 0 评论 -
适配器模式
简介 将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 首先定义一个接口(有几个方法,以及相应的参数)。然后,有几种不同的情况,就写几个类实现原创 2017-12-14 17:31:16 · 206 阅读 · 0 评论 -
原型模式
简介 原型模式(对象克隆以避免创建对象时的消耗) 1:与工厂模式类似,都是用来创建对象。 2:与工厂模式的实现不同,原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。这样就免去了类创建时重复的初始化操作。 3:原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需要内存拷贝即可。Canvas.php<原创 2017-12-14 17:36:36 · 206 阅读 · 0 评论 -
异或运算实现两个数的交换
通常的交换两个变量a,b的过程为int temp;temp=aa=b;b=temp;需借助上面的第3个临时变量temp.采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b;这个交换两个变量而无需借助第3个临时变量过程,其实现主要是基于异或运算的如下性原创 2017-12-24 20:28:09 · 451 阅读 · 0 评论 -
数据库存时间戳的好处
第一个问题,时间戳不含时区,绝对时间,存的是标准时不受服务器所在时区的影响 第二个问题,时间戳的好处: 0、无时区干扰 1、存储空间小一个数字比一个字符串占用空间小得多 2、检索效率高 3、计算方便 第三个问题,计算出需要检索的时间戳,然后比较。如果存的是字符串,根本无法比较。转载 2017-12-15 22:46:55 · 4007 阅读 · 0 评论 -
java 13位时间戳,在前台转换为日期格式jq封装
简介 13位时间戳为精确到毫秒 10位时间戳为精确到秒封装的jq代码(function($) { $.extend({ myTime: { /** * 当前时间戳 * @return <int> unix时间戳(秒) ...原创 2017-12-16 00:34:11 · 1228 阅读 · 0 评论 -
js-sdk 拉取微信卡券,网络繁忙请稍后再试
问题分析既然已经弹出了拉取卡券的页面,但是就是不显示卡券,只能说明一个原因就是你的card_id填写错误,或者多了空格一类的。原创 2018-01-03 14:39:19 · 872 阅读 · 0 评论 -
layui select动态添加option
html<form class="layui-form" action=""> <div class="layui-form-item proSelect"> <label class="layui-form-label">产品类别</label> <div class="layui-input-block editWidth">原创 2017-11-11 16:54:47 · 58421 阅读 · 16 评论 -
cookie跨域,二级域名之间如何共享
概述 同域名的二级域名实现共享,比如:www.domain.com下登录后,在其它的二级域名,my.domain.com、bj.domain.com、sh.domain.com等二级域名都能共享登录cookieTP5解决方案// +----------------------------------------------------------------------...原创 2018-04-09 11:08:38 · 4588 阅读 · 0 评论 -
PHP保存Base64图片base64_decode的问题
原创 2018-05-09 23:38:04 · 668 阅读 · 0 评论 -
JQuery 遍历List,数组,对象
1.jquery遍历对象 < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML > <HEAD > <TITLE > New Document < /TITLE> <script language="javascript&qu转载 2018-05-07 18:50:51 · 19235 阅读 · 0 评论 -
JQuery操作cookie
我的代码/*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Copyright 2013 Klaus Hartl * Released under the MIT license */(function (factory) { if (typeof define...原创 2018-05-07 18:57:06 · 226 阅读 · 0 评论 -
JQuery 转换时间格式
// 对Date的扩展,将 Date 转化为指定格式的String// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)// 例子:// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07...原创 2018-05-07 19:00:19 · 4238 阅读 · 0 评论 -
策略模式
简介 策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。 eg:假如有一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告。在传统的代码中,都是在系统中加入各种if else的判断,硬编码的方式。如果有一天增加了一种用户,就需要改写代码。使用策略模式,如果新增加一种用户类型,只需要增加一种策略就可以。其他所有的地方只需要使用不同原创 2017-12-14 17:03:30 · 179 阅读 · 0 评论 -
命令链模式
简介 命令链 模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他处理程序。代码<?phpinterface ICommand{ function onCommand( $name, $args );}class CommandChain原创 2017-12-14 16:21:33 · 494 阅读 · 0 评论 -
观察者模式
简介 观察者模式为您提供了避免组件之间紧密耦合的另一种方法。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。代码<?phpinterface IObserver{ function onCh原创 2017-12-14 16:08:11 · 157 阅读 · 0 评论 -
js,jQuery获取html5的data-*属性
data-*自定义数据属性HTML5规定可以为元素添加非标准型的属性,只需添加前缀data-,这些属性可以随意添加,随意命名,目的是为元素提供与渲染无关的信息,或提供语义信息。js获取data-*的方式通过dataset属性访问//HTML代码 <div id="myDiv" data-appid="123" data-myname="lsxj"></div>//js代码var div = do转载 2017-06-12 13:47:04 · 1358 阅读 · 0 评论 -
wx.navigateTo传递数组对象解决方法
首先JSON.stringify():用来将数组对象转为字符串 JSON.parse():用来将字符串转为对象获取get参数如何在被跳转页面中获取get参数onLoad:function (options){ options.参数key}代码实例 此代码不能直接运行,只是告诉怎样使用 navigateTo传递参数和进行数组对象转字符串...原创 2017-07-13 22:35:55 · 6802 阅读 · 0 评论 -
js处理双精度误差
浮点数误差产生的原因 eg: 0.1+0.2=? 0.1+0.2=0.3? 我门先来看一段JS. console.log(0.1+0.2); 输出为0.30000000000000004 其实对于浮点数的四则运算,几乎所有的编程语言都会累死京都误差的问题,只不过c++/java/c#这些语言中已经封装好了解决的办法,二javascript是一门若类型语言,从设计思想上就没有对浮...原创 2017-07-13 22:54:44 · 2219 阅读 · 0 评论 -
JavaScript严格模式(use strict)
说明 对于小白们来说(也包括我)也可能都知道JavaScript的变量可以不用声明就可以直接使用,但是在(ECMAScript5)中新增了严格模式,即JavaScript严格模式(strict mode)即在严格的条件下运行。支持严格模式的浏览器:Internet Explorer 10 +、 Firefox 4+ Chrome 13+、 Safari 5.1+、 Opera 12+。为原创 2017-07-22 14:54:51 · 793 阅读 · 0 评论 -
JavaScript中let和var定义变量的区别
JavaScript 严格模式上一篇主要介绍的javascript的严格模式,如想了解请阅读上一篇文章let和var关键字的异同声明后未赋值,表现相同使用未声明的变量,表现不同重复声明同一个变量时,表现不同变量作用范围,表现不同参考第三方链接http://blog.csdn.net/nfer_zhuang/article/details/48781671转载 2017-07-22 15:04:07 · 351 阅读 · 0 评论 -
引用js文件时的编码格式问题
如果js文件的编码格式时utf-8,并且含有中文,那么按照正常的方法饮用,就会出现乱码的情况 1 如果js文件的编码格式是utf-8,并且含有中文,那么按照正常的方法引用,就会出现乱码的情况。所以正确的引用方式如下:2 当js文件的编码格式为gbk时,用如下方式引用:<script type="text/javascript" language="javascript" src="mytest原创 2017-07-22 15:11:45 · 998 阅读 · 1 评论 -
TP5验证码点击刷新与验证
前台后台验证public function check($code=''){ $captcha = new \think\captcha\Captcha(); if (!$captcha->check($code)) { $this->error('验证码错误'); } return;}原创 2017-08-24 17:20:46 · 5231 阅读 · 0 评论 -
PBAC基于策略的权限控制
PBAC思想要解决的问题?在pb实现一般管理系统的时候,我们会遇到这样一种情况,作为一个系统,可以分为若干个子系统,有多个操作员对它进行操作,每个操作员对各个子系统的权限不同,甚至在同一子系统中,操作员对各个菜单项的操作权限也不一样,更细一点,不同的操作员对于同一窗口中某一按钮的操作权限也是不一样的,那么,怎样较好地实现对不同用户细化到某个按钮的权限控制呢?思路1.举例...转载 2017-08-22 16:32:23 · 10551 阅读 · 0 评论 -
jQuery 实现图片下载代码
jQuery 实现图片下载代码function downloadImage(src) { var $a = $("<a></a>").attr("href", src).attr("download", "meitu.png"); $a[0].click();}完整 js 代码$(function () { $.extend($.fn.bootstrapTable.defa转载 2017-10-31 18:22:27 · 681 阅读 · 0 评论 -
JQ控制input只能输入小数点后两位
html<!DOCTYPE html><html> <head> <title>demo</title> </head> <body> <input type="text" onkeyup="clearNoNum(this)"> </body></html>jqfunction num(obj){ obj.value = ob原创 2017-11-09 16:52:15 · 3370 阅读 · 0 评论 -
移动端返回上一页并刷新
html<input type="hidden" id="refreshed" value="no">jqonload=function(){ var refreshedId=document.getElementById("refreshed"); if(refreshedId.value=="no"){ refreshedId.value="yes";原创 2017-11-11 13:51:58 · 3835 阅读 · 0 评论 -
输入文本框内容a标签中的链接自动改变
代码<!DOCTYPE html><html><head> <title></title> <link href="__STATIC__/layui/css/layui.css" rel="stylesheet" media="all"/> <link href="__STATIC__/base/css/myself.css" rel="stylesheet"/></h原创 2017-11-28 16:52:15 · 1764 阅读 · 0 评论 -
表达式语言EL(Expression Language)
为什么要使用ELJSP2.0之后不建议使用 JSP表达式和JSP脚本片段,建议使用EL代替JSP表达式,使用JSTL代替JSP脚本片段EL简介 全称:Expression Language,翻译过来叫表达式语言 格式:${表达式} EL表达式主要用来将域对象中的属性输出到页面 EL表达式默认是全域查找 先从page域中查找,找到后直接返回,找不到再去request域中找,...转载 2017-12-11 17:11:13 · 574 阅读 · 0 评论 -
ajax 封装
/** * 数据是否成功 * @param {String} url [请求的地址] * @param {String} data [请求的数据] * @param {String} data [传入的回调函数名称] * @param {String} type [请求的类型] * @param {String} async原创 2017-12-13 08:44:40 · 239 阅读 · 0 评论 -
js给json对象重新分配空间
JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 转换一下就可以了原创 2017-12-04 18:45:32 · 357 阅读 · 0 评论 -
js拼装html无法触发事件
$("body").delegate('.refund','click',function(){//主要是这里 var truthBeTold = confirm("退款审核,审核结果会在24小时内,通过微信公众号渠道发送,请注意查收!"); balance_rule_id = $(this).data('id'); this原创 2017-12-05 15:47:21 · 1532 阅读 · 0 评论 -
JQ实现将字符串的铭文转换成密文存放,并显示密文,密文形成方法是:输入的字母用后4个字母替换,如字母A用其后第4个字符E代替,字母a用e代替。
JQ实现将字符串的铭文转换成密文存放,并显示密文,密文形成方法是:输入的字母用后4个字母替换,如字母A用其后第4个字符E代替,字母a用e代替。原创 2017-05-26 23:23:46 · 4368 阅读 · 0 评论