fn

蓝桥杯入门训练

允我心安 提交于 2020-01-26 23:54:25
原题链接: http://lx.lanqiao.cn/problem.page?gpid=T4 入门训练: Fibonacci数列Description Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。Input输入描述: 输入包含一个整数n。 输入样例: 10 输出描述: 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 输出样例: 55 时间限制:1.0s 内存限制:256.0MB 1 <= n <= 1,000,000。 重点语句: 计算出余数即可 不需要计算Fn的准确值 解题思路: 加法和对数取余的结果与分开取余的结果相同 即:(a + b) % c == a % c + b % c you can try it: (3 + 4) % 2 = 1 3 % 2 = 1 plus 4 % 2 = 0 is 1, so it's right! 代码展示 # include <stdio.h> int main ( void ) { int i , index , i_num ;

DOM事件绑定方式

☆樱花仙子☆ 提交于 2020-01-26 23:20:39
普通事件可以直接绑定 比如document.onmouseover=fn; 或者document.addEventListener("mouseover",fn,flase); attachEvent("onmouseover",fn); 但是DOM事件只能用addEventListener 来绑定 document.addEventListener("DOMMouseScroll",fn,flase); 这样绑定事件的时候阻止默认行为 return false; attachEvent 绑定方式也可以 addEventListener 在FF下需要用到event. preventDefault(); 其他的时候用return flase; 所以兼容一下就好了 if(event.preventDefault){ event.preventDefault(); } return false; IE attachEvent mousewheel FF addEventListener DOMMouseScroll Chrome addEventListener mousewheel 所以封装一个函数来添加最好 function myAddEvent(obj,oEvent,fn){ if(obj.attachEvent){ obj.attachEvent("on"+oEvent,fn);

on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

社会主义新天地 提交于 2020-01-25 09:33:53
on(events,[selector],[data],fn) 概述 在选择元素上绑定一个或多个事件的事件处理函数。 大理石平台精度等级 on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。帮助从旧的jQuery事件方法转换,see .bind(), .delegate(), 和 .live(). 要删除的.on()绑定的事件,请参阅.off()。要附加一个事件,只运行一次,然后删除自己, 请参阅.one() 参数 events,[selector],[data],fn V1.7 events :一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。 selector :一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。 data :当一个事件被触发时要传递event.data给事件处理函数。 fn :该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。 events-map,[selector],[data] V1.7 events-map :个用字符串表示的,一个或多个空格分隔的事件类型和可选的命名空间,值表示事件绑定的处理函数。

249 递归:概念,利用递归求1~n的阶乘,利用递归求斐波那契数列,利用递归遍历数据

ぃ、小莉子 提交于 2020-01-24 11:51:18
6.1什么是递归 递归: 如果一个函数在内部可以调用其本身,那么这个函数就是递归函数。 简单理解: 函数内部自己调用自己, 这个函数就是递归函数 注意: 递归函数的作用和循环效果一样,由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件return。 <!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> <script> // 递归函数 : 函数内部自己调用自己, 这个函数就是递归函数 var num = 1; function fn() { console.log('我要打印6句话'); if (num == 6) { return; // 递归里面必须加退出条件 } num++; fn(); } fn(); </script> </body> </html> 6.2 利用递归求1~n的阶乘 <!DOCTYPE html> <html lang="en"

jQuery中bind,live,delegate,on绑定事件的方式与区别

独自空忆成欢 提交于 2020-01-23 04:54:25
【转】 jQuery中bind,live,delegate,on绑定事件的方式与区别 jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。 已知有4个列表元素:   列表元素1   列表元素2   列表元素3   列表元素4   1、bind bind(type,[data],function(eventObject)) bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下: type:事件类型,如click、change、mouseover等; data:传入监听函数的参数,通过event.data取到。可选; function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意。   源码: bind: function( types, data, fn ) { return this.on( types, null, data, fn ); }   可以看到内部是调用了on方法。   bind的特点就是会把监听器绑定到目标元素上,有一个绑一个,在页面上的元素不会动态添加的时候使用它没什么问题。但如果列表中动态增加一个“列表元素5”

linux 块设备驱动(二)——块设备数据结构

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 13:27:29
本文来源于: 1 . http://www.cnblogs.com/dyllove98/archive/2013/07/01/3165567.html 块设备相关的数据结构以及接口: 块设备接口则相对复杂,读写API没有直接到块设备层,而是直接到文件系统层,然后再由文件系统层发起读写请求。 一: block_device: block_device结构代表了内核中的一个块设备。它可以表示整个磁盘或一个特定的分区。当这个结构代表一个分区时,它的bd_contains成员指向包含这个分区的设备,bd_part成员指向设备的分区结构。当这个结构代表一个块设备时,bd_disk成员指向设备的gendisk结构。 struct block_device { dev_t bd_dev; struct inode * bd_inode; /*分区结点*/ int bd_openers; struct semaphore bd_sem; /*打开/关闭锁*/ struct semaphore bd_mount_sem; /* 加载互斥锁*/ struct list_head bd_inodes; void * bd_holder; int bd_holders; struct block_device * bd_contains; unsigned bd_block_size;//分区块大小

编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

你离开我真会死。 提交于 2020-01-22 08:46:03
首先定义个fn用来返回整数的取值范围: function getRand(a,b){ var rand = Math.ceil(Math.random()*(b-a)+a); return rand; } 再写一个func用来做去重校验: function checkArrIn(rand,array){ if(array.indexOf(rand) > -1){ return true } return false; } 最后是整体实现: function fn(n, min, max) { var arr = []; var isNum = !isNaN(Number(n));//判断n是不是一个数字,包含字符串类型的数字 var isRandOk = (n >= min && n <= max && n <= (max - min)) ? true : false;//判断n的取值是否符合要求 if (n && isRandOk && isNum) { for (var i = 0; i < n; i++) { var rand = getRand(min, max); if (checkArrIn(rand, arr)) { i-- } else { arr.push(rand) } } } return arr; } 来源: https://www.cnblogs.com

Angular依赖注入详解

随声附和 提交于 2020-01-21 08:48:42
Angular算是将后端开发工程化引入前端的先驱之一,而Dependency injection依赖注入(后面简称为DI)又是Angular内部运作的核心功能,所以要深入理解Angular有必要先理解这一核心概念。 维基百科对依赖注入的解释 在软件工程中,依赖注入是实现控制反转的一种软件设计模式,一个依赖是一个被其他对象(client)调用的对象(服务),注入则是将被依赖的对象(service)实例传递给依赖对象(client)的行为。将 被依赖的对象传给依赖者,而不需要依赖者自己去创建或查找所需对象是DI的基本原则。 依赖注入允许程序设计遵从依赖倒置原则(简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合) 调用者(client)只需知道服务的接口,具体服务的查找和创建由注入者(injector)负责处理并提供给client,这样就分离了服务和调用者的依赖,符合低耦合的程序设计原则。 依赖注入中的角色 从维基百科解释可知, DI中包含三个角色,调用者(client), 服务(service)和注入者 (injector),下面开始介绍本文的主题 Angular的依赖注入。 Angular依赖注入分析 先看看下面这段 hello,world代码 (注意:设置了严格模式或压缩混淆代码后 下面的代码不能正常工作,后面有解释) angular

30行代码让你理解angular依赖注入:angular 依赖注入原理

穿精又带淫゛_ 提交于 2020-01-21 08:35:17
依赖注入(Dependency Injection,简称DI)是像C#,java等典型的面向对象语言框架设计原则控制反转的一种典型的一种实现方式,angular把它引入到js中,介绍angular依赖注入的使用方式的文章很多, angular官方的文档 ,也有很详细的说明。但介绍原理的较少,angular代码结构较复杂,文章实现了一简化版本的DI,核心代码只有30行左右, 相看实现效果(可能需翻墙) 或查看 源码 这篇文章用尽量简单的方式说一说 angular依赖注入的实现。 简化的实现原理 要实现注入,基本有三步: 得到模块的依赖项 查找依赖项所对应的对象 执行时注入 1. 得到模块的依赖项 javascript 实现DI的核心api是 Function.prototype.toString ,对一个函数执行toString,它会返回函数的源码字符串,这样我们就可以通过正则匹配的方式拿到这个函数的参数列表: function extractArgs(fn) { //angular 这里还加了注释、箭头函数的处理 var args = fn.toString().match(/^[^\(]*\(\s*([^\)]*)\)/m); return args[1].split(','); } 2. 查找依赖项所对应的对象 java与.net通过反射来获取依赖对象,js是动态语言,直接一个

函数传参

可紊 提交于 2020-01-20 18:08:07
参数=JS的数据类型(数字/字符串/布尔/函数/对象/未定义) 函数和对象作为对象传入 匿名函数传入: function fn3(fn){ fn(); } fn3(function(){ alert(1) }); 有名函数: function fn4(){ alert(4) }; fn3(fn4); 对象参数: function fn5(w,d){ w.οnlοad=function(){ d.body.innerHTML=123; }; } 传什么就用变量接收什么,是一一对应的关系 函数传参的应用,什么地方用到函数传参 function fn1(a){ if(typeof a==='number'&&a===1){ alert(a+20); }else if(typepf a==='string'){ alert(a.charAt(a)); }else if(typepf a==='function'){ a(); }; } fn(100);//120 fn('miaov');//a fn(function(){alert(1)})//2 同一个页面有很多个相同的效果可以用传参的形式做,可以重用一些代码 重用代码: 1.尽量保证HTML代码结构一致,可以通过父级选取子元素; 2.把核心主程序实现,用函数包起来; 3.把每组里不同的值找出来,通过传参实现; ============