函数封装

常用js函数封装

旧街凉风 提交于 2019-12-03 23:20:29
判断object 判断undefined 判断非undefined 转换成字符串 数组转换成对象 判断object function isObject(obj){ return obj !== null && typeof obj==='object' } 判断undefined function isUndef(v){ return v===undefined || v===null } 判断非undefined function isUndef(v){ return v!==undefined && v!==null } 转换成字符串 function toString(val){ return val == null? '': typeof val==='object'? JSON.stringify(val): String(val); } 数组转换成对象 function toObject(arr){ var res={}; arr.forEach((item,index)=>{ res[index]=item; }); return res } 来源: https://www.cnblogs.com/jingouli/p/11811201.html

TP5实现发送邮件服务的封装和调用

十年热恋 提交于 2019-12-03 22:48:21
在此之前,需要说明一下,我采用的是SMTP的邮件服务,因为在测试这个功能的时候 需要给发件邮箱开通SMTP服务 以我的邮箱是126网易邮箱为例 注册一个邮箱之后 https://www.126.com/ 登陆之后点击设置 找到对应的服务 进入之后进行勾选开启服务 授权码自己设置 然后也可以看到SMTP对应的服务器地址 后面会用到的 配置之后 记住授权码! 就可以了 然后引入phpmailer的类库文件,放到TP5目录下的extend目录下 如图 类库文件可以在我的资源进行获取 (是自己拿到的开源代码之后 进行部分修改之后 融入到这套框架中) 获取地址: https://download.csdn.net/download/zhangzeshan/11259051 引入之后说明一些东西: 这个源文件中的pop3被我删掉了 因为暂时没有用到 然后Email.php是我新建的 自行封装的类( 代码也在资源中) 现在看下代码 封装了这个函数 是让我们进行调用的 调用的时候 需要传三个参数 注释上写好了 然后这块代码的config的配置我也说名义下 地址在:application\extra\email.php 里面内容的就是smtp服务器地址 端口号 发件的邮箱 发件邮箱的授权码 配置完之后 接下来演示一下如何调用 我直接在后台index控制器新建一个方法

Day 6 面向对象初级

a 夏天 提交于 2019-12-03 20:19:22
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。 面向过程编程(Procedural Programming) Procedural programming uses a list of instructions to tell the computer what to do step-by-step. 面向过程编程依赖 - 你猜到了- procedures,一个procedure包含一组要被进行计算的步骤, 面向过程又被称为top-down languages, 就是程序从上到下一步步执行,一步步从上到下,从头到尾的解决问题 。基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过程再继续分解直到小问题足够简单到可以在一个小步骤范围内解决。 while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 >

Java学习流程

我怕爱的太早我们不能终老 提交于 2019-12-03 17:25:44
此篇为转载:原文链接: https://www.cnblogs.com/MonkTang/p/9204993.html Java学习流程 首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解!   其中J2SE是关键,如果学好了java se 部分,基础扎实了,后面进阶学习也比较轻松!   补充说明一下:我觉得学习java比较合适的方法是先把所有的知识点过一遍,然后把所有的知识点串起来,边做开发边补充,就像写文章一样,先写好框架,然后再去润色填充。因为前期在学习的时候你不知道用在哪里,不知道用途,没有学习的目的,所以很多概念就很难理解,时间久了也容易遗忘。但是如果你直接从实践开始学习,很多知识点都充串联起来了,而且会印象深刻,当然前提条件是你已经入门,已经能写一些简单的程序,我个人现在也是按照这个方式在学习了,感觉很有效。    说明: 本文介绍的内容过于详尽,这里我补充一些基本的学习路线,相对比较简略,但是比较可行:     1、基础语法。也就是我们常说,各种编程语言都有的部分,数据类型,数组,for循环,do-while,switch……等等,是学习任何编程语言的基础,很关键。     2、面对对象:①类和对象;②Java的三大特性(封装、继承、多态)

python学习66-面向对象-封装

依然范特西╮ 提交于 2019-12-03 11:17:14
                  封装 1.什么是封装? 根据名字寓意为:把一个东西装起来,然后密封,类似这样的面向对象的编程为封装。 真正的封装是明确的区别内外,只能在内部用,外部无法调用。 2. 举例: class Car: _star = 'benchi' # "_"表明是隐藏属性,不能在外部使用(不代表无法调用到) __star1 = 'baoma' # "__"python给自动重命名,命名为"_Car__star1" def __init__(self,name,type): self.name = name self.type = type def get_type(self): print('%s是%s类型的车' % (self.name,self.type)) c1 = Car('奔驰E600','大型高档轿车') c1.get_type() print('=========================') print(c1._star) print(c1._Car__star1) 运行结果: 奔驰E600是大型高档轿车类型的车 ========================= benchi baoma Process finished with exit code 0 3.意义 第一个层面的封装,就是把东西装进麻袋。 类就是一种麻袋。

element table 封装

蓝咒 提交于 2019-12-03 11:10:39
element ui有优势, 这个不多讲了。从github上的star数就很能说明。今天计的是对里的table的再次封装。 官方的例子是这样的。如果再有其他的配置项目,再额外增加。 不过每个列表都这样写的话,还是有点有冗余的。所以我决定对其再次封装,达到简化的目的。如果封装的不好,还请见谅。 可能这里重要的一点是,如何把方法传入操作这列。而且,如果是其他的配置项目,如prop,lable等。我个人是用config传一个对象过去,毕竟 万物皆对象,但是赋值的时候,有一些不同。不再是用那种,prop=item.config.prop的方式,而是用v-bind.sync="item['config']",这样的好处是对于参数的拓展性强很多。对于要传入的事件,则用item.render来判断。对于要传的事件,以及要自定义的元素,则components来处理。 最后传用的参数处理一下, 调用的时候,也是很是非常方便的 我是用的局部注册的方式,当然全局注册也 是可以的 参数配置 也可以这样写 用箭头函数,绑定事件。 来源: https://www.cnblogs.com/ruose/p/11792832.html

一些封装函数

青春壹個敷衍的年華 提交于 2019-12-03 06:43:10
js``` //解析URL function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: (function(){ var ret = {}, seg = a.search.replace(/^?/,'').split('&'), len = seg.length, i = 0, s; for (;i<len;i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(//([^\/?#]+)$/i) || [,''])[1], hash: a.hash.replace('#',''), path: a.pathname.replace(/^([^\/])/,'/$1'), relative: (a.href.match(/tps?://[^\/]+(.+)/) || [,''])[1],

cocos2D-X 常用功能封装

帅比萌擦擦* 提交于 2019-12-03 06:27:55
Packaging_Kernel.h #pragma once #include <string> #include <map> #include <vector> #include "cocos2d.h" #include "ui\CocosGUI.h" #include "SimpleAudioEngine.h" #include "cocostudio\CocoStudio.h" #include "cocos\editor-support\spine\SkeletonAnimation.h" #include "cocos\platform\desktop\CCGLViewImpl-desktop.h" #include "cocos\math\CCGeometry.h" #include "cocos\editor-support\spine\extension.h" #include "cocos\math\Vec2.h" #include "cocos2d/extensions/GUI/CCScrollView/CCTableView.h" #include <iostream> #include <windows.h> #include <tchar.h> using namespace std; using namespace cocos2d; using

JDBCUtil类-封装数据库连接和关闭连接

徘徊边缘 提交于 2019-12-03 06:24:11
JDBC类是对获得数据库连接和关闭数据库连接的一个封装,在需要使用到数据库的时候,我们需要访问数据库,然后获得数据库连接,在一个程序或项目中难免会有多处需要使用到数据库,所以我i们有必要书写一个Util工具类完成对获得数据库连接和关闭数据库连接的封装,当下次需要获得数据库连接的时候,不必再写JDBC代码,只需要调用JDBCUtil类中的方法即可。 实现代码如下: package com.nyist.Demo.Utils; import java.io.FileReader; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.Properties; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; public class JDBCUtil { /** * JDBCUtil 类 使用时方便连接数据库的一个实体类,在需要使用数据库读写数据得时候,读或者写数据,需要访问 * 数据库的时候,只需要调用JDBCUtils中的方法即可完成对数据库的访问。 */ private static String driver; //驱动 private static String url; //访问数据库的url

cookie封装函数

狂风中的少年 提交于 2019-12-03 04:41:06
cookie 写入的封装,读取的封装,删除某个属性的封装 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <button class="btn">按钮</button> <script> function setCookie(attr,value,expires){ var date=new Date(); var time =date.getTime()+expires*24*3600*1000; date.setTime(time); document.cookie=attr+"="+value+";expires="+date.toUTCString() } setCookie("dfc",11,1); setCookie("lx",222,1); setCookie("hh",33,1); function getCookie(attr) { var cookie