函数封装

封装jq的ajax

非 Y 不嫁゛ 提交于 2019-12-05 07:03:04
function getData(url,ops,func){ type = "get"; url = apiurl + url; $.ajax({ type: type, url:url , dataType: "json", data: ops, error: function (err) { //请求失败时被调用的函数 console.log("失败:" + err); }, success: function (res) { func(res) } }); } 调用 getData(getMerSupCount,{},function(res){ $(".head .num01").html(res.data.merCount); $(".head .num02").html(res.data.supCount); }) es6 promise封装方法 function Getdata(url,ops,type){ //默认get url = apiurl + url; //线上http: // url = 'http://192.168.2.101:7001/'+url;//线下 var promiseObj = new Promise(function(resolve, reject) { $.ajax({ type:type, url:url, data: ops,

如何简单实现接口自动化测试(基于 python)

微笑、不失礼 提交于 2019-12-05 06:24:30
GitChat 作者:饿了么技术社区 原文: 如何简单实现接口自动化测试(基于 python) 关注微信公众号:GitChat 技术杂谈 ,这里一本正经的讲技术 一、简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架 pithy 。期望读者可以通过本文对接口自动化测试有一个大致的了解。 二、引言 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。 为什么要自己写框架呢? 使用requets + unittest很容易实现接口自动化测试,而且requests的api已经非常人性化,非常简单,但通过封装以后(特别是针对公司内特定接口),再加上对一些常用工具的封装,可以进一步提高业务脚本编写效率。 三、环境准备 确保本机已安装python2.7以上版本,然后安装如下库: pip install flask pip install requests 后面我们会使用flask写一个用来测试的接口,使用requests去测试。 四、测试接口准备 下面使用flask实现两个http接口,一个登录,另外一个查询详情,但需要登录后才可以

封装、继承和多态,重写、重载等基础复习

旧街凉风 提交于 2019-12-05 05:26:11
重载overloading 1.方法名相同,形参不同(包括参数顺序不同、类型不同、个数不同); 2.方法的返回值类型可同也可不同,所以不能用返回值类型来区分重载函数; 3.重载方法与被重载的方法可以抛出不同的异常; 4.重载体现了多态的特性:调用方法时根据传递的参数不同来决定具体调用那个重载方法,这就是多态性; public class Dog { Dog() { this.bark(); } //bark()方法是重载方法 void bark(){ System.out.println(\"no barking!\"); this.bark(\"female\", 3.4); } //注意:重载的方法的返回值都是一样的, void bark(String m,double l) { System.out.println(\"a barking dog!\"); this.bark(5, \"China\"); } //不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分 void bark(int a,String n) { System.out.println(\"a howling dog\"); } public static void main(String[] args) { Dog dog = new Dog(); dog.bark(); dog.bark(

数据结构与算法之队列结构

半腔热情 提交于 2019-12-05 05:14:53
队列结构 受限的线性结构 之前我们总结了:栈结构 并且已经知道这种 受限的数据结构 对于解决某些 特定的问题 ,会有 特别的效果 这面文章,介绍了另外一个受限的数据结构: 队列 队列的结构: 满足 先进先出 的一种结构 受限之处:只允许在表的前端进行删除操作,表的后端进行插入操作 抽象比喻: 栈就是树立的杯子 , 而队列就是横着的管道 队列的应用: 打印队列:这些文档会按照次序放入,优先的放入,优先的被取出 线程队列:在开发中,为了让任务可以并行处理,通常会 开启多个线程 ,但是我们不能让大量的线程同时运行处理(占用过多资源)。这个时候,如果有需要开启线程处理任务的话,就会使用 线程队列 ,线程队列会 依照次序 来启动线程,并且处理任务 队列类的创建和常见操作 队列的实现和栈一样,有两种方案 基于数组实现 基于链表实现 // 封装队列 function Queue() { //属性 this.items = [] //方法 // 1.将元素加入到队列中 Queue.prototype.enqueue = function (element) { this.items.push(element) } // 2.从队列中删除前端元素 Queue.prototype.dequeue = function () { return this.items.shift() } // 3

Java面试参考指南

谁说胖子不能爱 提交于 2019-12-05 00:15:26
Java面向对象相关概念 Java是一种基于面向对象概念的编程语言,使用高度抽象化来解决现实世界的问题。 面向对象的方法将现实世界中的对象进行概念化,以便于在应用之间进行重用。例如:椅子、风扇、狗和电脑等。 Java里的类(Class)是一个蓝图、模板,或者称之为原型,它定义了同一类事物的相同属性和行为。实例(Instance)是某个类的一个具体实现,同一个类所有的实例拥有相同的属性。举例来说,你可以定义一个类叫做“房子(House)”,这个类拥有一个属性叫做“房间数(number of room)”,这样你就可以创建一个“房间数”为2的“房子”实例,你还可以创建一个“房间数”为3的“房子”实例,等等等等。 优点: 面向对象软件开发的若干优点在于: 模块化,维护成本低; 更好的代码重用,具备继承性,开发更为敏捷; 更好的代码可靠性和灵活性; 对现实世界进行建模,易于理解; 对象水平的抽象; 从一个开发阶段向另一个开发阶段过渡更为简便。 面向对象软件系统(OOPS)的四大主要特征为: 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism) 抽象(Abstraction) 封装(Encapsulation) 封装机制在对象之间提供了一种隐藏域可见性的协议。Java中使用可见性修饰符private将方法和变量限制在类内部

小程序api的promise封装

Deadly 提交于 2019-12-04 20:08:35
微信小程序和支付宝小程序的api封装方法是一样的,都是外部新建一个js,使用module.exports导出,要注意的是,最好使用post请求,虽然get请求没什么不好,主要是好修改。这里使用的MD5进行了token加密,最好还是把md5.js单独写下来( MD5函数js ) var app = getApp(); // 引入app.js里初始化数据 var MD5 = require('./md5.js') function ApiFun (url,params) { var param = {} let timeStamp = Number(new Date()) // 时间戳 let Token = "*******" return new Promise((resolve, reject,next) => { my.request({ // 支付宝小程序是my,微信小程序是wx url: app.globalData.baseUrl + url, // 域名+接口名称 method: "POST", data: params, // 参数 success: resolve, // 成功结果 headers: { "Content-Type": "application/x-www-form-urlencoded" }, // post请求头 fail: reject, //

封装Promise与定时器demo

萝らか妹 提交于 2019-12-04 18:18:27
封装Promise与定时器demo 问:封装一个函数,参数是定时器的时间,.then执行回调函数。 答:(这个函数是promise)下面封装promise // 封装 function fn(time) { return new Promise(function(resolve){ setTimeout(function(){ resolve(); },time) }); } // 回调 let obj = fn(1000); obj.then(function(){}, function(){}); 来源: https://www.cnblogs.com/yu412/p/11669477.html

类与对象(上) C++

感情迁移 提交于 2019-12-04 14:48:36
深夜发博,最深的感触就是,曾经欠的债,是要用头发来还的…… 关于C++大致分为以下几个小部分: 1.类与对象的初步认知: C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 2.类的引入: C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。结构体的定义,在C++中更喜欢用class来代替 ,然后将这种把函数与变量等绑定在一个结构体中,这个结构体称为类。 struct Student1 { void SetStudentInfo(const char* name, const char* gender, int age) { strcpy(_name, name); strcpy(_gender, gender); _age = age; } void PrintStudent() { cout << _name << " " << _gender << " " << _age << endl; } char _name[20]; char _gender[10]; int _age; }; class Student2 { public: void SetStudentInfo(const char* name, const

面向对象三大特性之封装

不羁岁月 提交于 2019-12-04 04:55:36
封装的好处   1.提高了代码的安全性   2.提高了代码的复用性   3.隐藏了实现细节 封装就是把细节以及过程以及状态信息隐藏起来,只给对象看结果 总的说就是,我能用就行,不用知道怎么做的 封装不是把所有的都方法都封闭,要留出一些借口以供外界访问,如果外界没有办法访问那么这个类也就没有什么意义了 封装注意属性私有化 封装要用 private修饰符 提高安全性 在类中定义getter setter 方法 在方法中设置取值范围 在main 函数中的对象只能用setter 和getter调用 来源: https://www.cnblogs.com/massage/p/11832395.html

Java面向对象

Deadly 提交于 2019-12-03 23:42:20
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 概述: Java是面向对象的程序设计语言,Java语言提供了定义类、成员变量、方法等最基本的功能。类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,Java程序使用类的构造器来创建该类的对象。 对象和类: Java是面向对象的程序设计语言,类是面向对象的重要内容,可以把类当成一种自定义类型,可以使用类来定义变量,这种类型的变量统称为引用变量。也就是说,所有类是引用类型。对象是由类创建出来的,可以说类时对象的抽象,对象是类的实例。 对象的概念: Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点: 对象具有属性和行为。 对象具有变化的状态。 对象具有唯一性。 对象都是某个类别的实例。 一切皆为对象,真实世界中的所有事物都可以视为对象。 面向对象与面向过程: 1、面向过程: 面向过程是一种以事件为中心的编程思想