函数封装

05-DOM的基本操作 封装函数

岁酱吖の 提交于 2020-03-13 12:41:08
1.HTML部分 < div id = "box" > < p > 我是p </ p > < div class = "abc" > 我是div < span id = "text" > 我是span </ span > < p > sd </ p > </ div > < ul > < li > 我是li1 </ li > < li > 我是li2 </ li > < li > 我是li3 </ li > < li > 我是li4 </ li > </ ul > </ div > < div id = "res" > < h1 > 我是h1 </ h1 > < h2 > 我是h2 </ h2 > < h3 > 我是h3 </ h3 > < h4 > 我是h4 </ h4 > < h5 > 我是h5 </ h5 > < h6 > 我是h6 </ h6 > </ div > 2.js部分 封装函数大部分会使用遍历 var oText = document . getElementById ( 'text' ); var oBox = document . getElementById ( 'box' ); /*----封装函数,返回该元素的第n层祖先元素-----*/ /* 1.返回第几层? parentNoded 查询父节点 dom 节点 n 第几层祖先 */ function

Python:常用函数封装

烈酒焚心 提交于 2020-03-12 11:50:31
def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' and uchar<=u'\u9fa5': return True else: return False def is_number(uchar): """判断一个unicode是否是数字""" if uchar >= u'\u0030' and uchar<=u'\u0039': return True else: return False def is_alphabet(uchar): """判断一个unicode是否是英文字母""" if (uchar >= u'\u0041' and uchar<=u'\u005a') or (uchar >= u'\u0061' and uchar<=u'\u007a'): return True else: return False def is_other(uchar): """判断是否非汉字,数字和英文字符""" if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)): return True else: return False def B2Q(uchar): """半角转全角""" inside_code=ord

ajax GET和POST函数的封装。

我的梦境 提交于 2020-03-12 09:06:48
<script> document.onclick = function(){ var url = "http://localhost/ajax/data/get-post.php"; ajax({ success:function(res){ console.log(res); }, url:url, type:"get", data:"user=admin&pass=123" }); } function ajax(ops){ // 默认属性处理 ops.type = ops.type || "get"; ops.data = ops.data || ""; // 根据当前的请求方式,决定是否需要拼接数据,处理url ops.url = ops.type=="get" ? ops.url + "?" + ops.data : ops.url; // if(ops.type=="get"){ // ops.url = ops.url+ops.data // } // 创建xhr对象 var xhr = new XMLHttpRequest(); // 开启请求 xhr.open(ops.type, ops.url); // 根据类型决定send的内容及内容数据格式 if(ops.type == "get"){ xhr.send(); }else{ xhr

代码的可维护性

╄→гoц情女王★ 提交于 2020-03-12 03:52:34
避免使用全局量 包括变量和函数,最好对齐进行封装; 避免与null进行比较 如果看到了与null比较的代码,尝试使用以下技术替换 function sortArry ( values ) { if ( values != null ) { //不推荐 values . sort ( ) } } function sortArry ( values ) { if ( values instanceof Array ) { //推荐 values . sort ( ) } } a、如果值应为一个引用类型,使用 instanceof 操作符检查其构造函数; b、如果值应为一个基本类型,使用 typeof 检查其类型; c、如果是希望对象包含某个特定的方法名,则使用 typeof 操作符确保指定名字的方法存在于对象上 使用常量 将固定不变的值封装成常量 var constants = { INVALID_MSG : "SUCCESS!" , INVALID_URL : "/detail/info" } 来源: CSDN 作者: 小宇宙chris_310 链接: https://blog.csdn.net/qq_38796823/article/details/104805670

Hutool Java 工具类库导出 Excel,超级简单!

与世无争的帅哥 提交于 2020-03-10 13:25:12
前言 在开发应用系统的时候,导出文件是必不可放的功能。 以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。 今天给大家介绍一款新工具,java工具类库Hutool。 Hutool简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让使用者更轻松。 Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当; Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。 使用 首先在POM.xml中加入GAV <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.7</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.1<

缓动函数的封装终极版,带多个对象的属性值,改透明度和层级

ぃ、小莉子 提交于 2020-03-10 02:48:22
//获取任意一个元素的任意一个属性的当前的值---当前属性的位置值 function getStyle(element, attr) { return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr] || 0; } function animate(element, json, fn) { clearInterval(element.timeId);//清理定时器 //定时器,返回的是定时器的id element.timeId = setInterval(function () { var flag = true;//默认,假设,全部到达目标 //遍历json对象中的每个属性还有属性对应的目标值 for (var attr in json) { //判断这个属性attr中是不是opacity if (attr == "opacity") { //获取元素的当前的透明度,当前的透明度放大100倍 var current = getStyle(element, attr) * 100; //目标的透明度放大100倍 var target = json[attr] * 100; var step = (target - current)

node.js 封装模块

人盡茶涼 提交于 2020-03-08 18:31:45
1. form.js // 模块1 服务模块,负责启动服务 // 模块2 拓展模块,负责拓展req和res对象,为req和res增加以下更方便好用的API // 模块3 路由模块,负责路由判断 // 模块4 业务模块,负责处理具体路由的业务的代码 // 模块5 数据操作模块,负责进行数据库操作 // 模块6 配置模块,负责报错各种项目中用到的配置信息 var http = require('http'); var context = require('./11_context.js'); var router = require('./11_router.js'); var config = require('./11_config.js'); console.log('form'); http.createServer(function(req, res) { // 外部代码只在开始时执行依次,内部代码每请求一次就执行一次 console.log('server'); context(req, res); // 调用context.js的返回值,并将req和res传递过去 router(req, res); }).listen(config.port, function() { console.log('http://localhost:' + config.port); });

Java语言基础JavaScript

不羁岁月 提交于 2020-03-08 16:40:04
JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的是信息的动态交互) 2.安全性(不允许直接访问本地硬盘) 3.跨平台性(只要是可以解析Js的浏览器都可以执行,和平台无关) JavaScript与Java的不同 1.Js是Netscape(网景)公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品。 2.Js是基于对象,Java是面向对象。 3.Js只需解释就可以执行,Java需要先编译成字节码文件,再执行。 4.Js是弱类型,Java是强类型(每一种类型都有具体的划分)。 JavaScript与Html的结合方式 1.将JavaScript代码封装到<script>标签中; 2.将JavaScript代码封装到js文件中,并通过<script>标签中的src属性进行引用; <script type="text/javascript" src="demo.js"> </script> 注意:如果<script>标签中使用了src属性,那么该标签中封装的javascript代码不会被执行。所以导入js文件通常都是使用单独的<script>标签。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/

使用原生JS封装一个动画函数

守給你的承諾、 提交于 2020-03-08 16:37:52
最近一直在忙项目,很少有时间回顾之前的知识,今天刚好要做一个轮播,因为对兼容性有一定的要求,使用了各种插件和库中的轮播,效果都不是很理想,一怒之下,使用原生JS封装了一个轮播组件,其中重要的功能就是一个动画,看了一下以前封装的函数,千疮百孔,又进行了重新封装,先上代码,有详细的备注。 function animate(el, target, step, dtime) { /** * 参数说明: * - el 表示操作的元素对象 * - target 表示移动的目标距离 单位 px * - step 表示步长,即每次移动的距离 单位 px * - dtime 表示移动的间隔时间 单位 ms */ // 步长和间隔时间设置了默认值 step = step || 10; dtime = dtime || 30; // 判断是否开启定时器,如果有就清除 if (el.timeId) { clearInterval(el.timeId); el.timeId = null; }; // 开启一个定时器,并将定时器挂载道当前元素上 el.timeId = setInterval(function () { /** * 获取盒子移动前的水平方向的位置(当前位置) - 偏移的位置 * - 可以使用 el.offsetLeft 获取,但会将外边距也获取到,不精准,不采用 * -

封装一个信号量集操作函数的工具

青春壹個敷衍的年華 提交于 2020-03-08 07:06:00
信号量的概念参见 这里 。 与消息队列和共享内存一样,信号量集也有自己的数据结构: struct semid_ds { struct ipc_perm sem_perm; /* Ownership and permissions */ time_t sem_otime; /* Last semop time */ time_t sem_ctime; /* Last change time */ unsigned short sem_nsems; /* No. of semaphores in set */ }; 同样地,第一个条目也是共有的ipc 对象内核结构,剩下的是私有成员。 Each semaphore in a semaphore set has the following associated values: unsigned short semval; /* semaphore value */ unsigned short semzcnt; /* # waiting for zero */ unsigned short semncnt; /* # waiting for increase */ pid_t sempid; /* process that did last op */ 即每一个在信号量集中的信号量都有上述4个相关的变量。 1、semval