fn

javascript自己写的自定事件类

三世轮回 提交于 2019-11-28 08:46:57
<!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> </body> <script> // 自定义事件; 把函数当成事件执行; function event1() { console.log("很多逻辑111"); //a写的; } function event2() { console.log("很很多逻辑222") //b写的; } class MyEvent { constructor() { this.handle = {}; } //添加自定义事件 addEvent(evnetName, fn) { if (typeof this.handle[evnetName] == "undefined") { this.handle[evnetName] = []; } this.handle[evnetName].push(fn); } // 触发自定义事件 trigger

Pytorch——自动求导机制

别来无恙 提交于 2019-11-28 08:16:12
文章目录 Tensor Autograd Autograd过程解析 结论 引用 Tensor Tensor(张量)是Pytorch中的基础计算单位,和numpy中的ndarray一样都是表示一个多维矩阵,不同的地方在于:Tensor既可以在CPU上运算也可以在GPU上进行运算,而ndarray只能在CPU上进行计算。 Tensor有三个重要的属性: data :保存张量的值; grad :保存该张量的梯度; grad_fn :指向一个用于反向传播计算输入梯度的Function对象; 在创建Tensor默认是不使用梯度的,如果需要进行梯度计算需要设置属性: requires_grad = True Autograd Autograd是Pytorch的核心模块,该模块实现了深度学习算法的反向传播(BP)求导过程。在Pytorch中所有作用在Tensor上的操作,Autograd都能为其提供自动微分求导的操作。 在创建Tensor时,同设置属性 requires_grad 为 True 声明该Tensor需要计算梯度。 用户手动创建的Tensor的 grand_fn 属性默认是 None 。 在张量进行操作之后 grad_fn 就回被赋值为一个新的函数,该函数指向创建了该Tensor的Function对象。 Tensor 和 Function 共同组成一个非循环图,通过 grad_fn

this的指向问题 call apply bind 中的this

旧时模样 提交于 2019-11-28 01:42:00
在函数中this指向谁: 函数中的this指向谁,是由函数被调用的那一刻就确定下来的     平时确定一个函数中的this是谁,我们需要通过调用模式来确定     1. 函数调用 模式 this ---> window 函数名()     2. 方法调用 模式 this ---> 调用方法的对象 对象.方法名()     3. 构造函数 调用模式 this ---> 创建出来的实例 new 函数名()     4. 上下文调用 模式 this ---> call和apply的第一个参数 函数名.call() 1 // 想要判断函数中的this指向谁,遵循两条原则: 2 // 1. 我们要判断的this在哪个函数中 3 // 2. 这个函数是哪种调用模式调用的 4 5 function fn(){ 6 console.log(this); 7 } 8 9 // 普通函数调用: this --> window 10 fn(); 11 12 //对象调用 this -->obj 13 var obj = {}; 14 obj.f = fn; 15 obj.f(); //this -->obj 16 17 // new 调用函数 this --> 新创建出来的实例对象 18 var f = new fn(); 19 20 // 注册事件 this --> box 21 box

高阶函数

杀马特。学长 韩版系。学妹 提交于 2019-11-27 23:38:49
1、什么样的函数是高阶函数?   1)一个函数的参数是另一个函数(回调)   2)一个函数返回另一个函数(拆分函数)   如 function a(){return function(){}} 2、常见的高阶函数:   1)before:我们经常会遇到这种需求,就是一个核心功能上面需要衍生出一些个性化功能,这时候,我们需要先将核心功能抽离出来,在外面再增加方法     解决方法:我们可以重写原型上的方法,加以扩展: 如我们现在有一个核心方法,toSay function toSay(...args){ console.log("say sth...",args) } 现在我们可以在toSay的原型上增加一个before方法,这样子所有的toSay方法也都可以调用 Function.prototype.before = function(beforeFn){ // 1、箭头函数中,没有this指向,所以会向上级作用于查找,这里的this就是调用before方法的对象。 // 2、箭头函数中,没有arguments参数,所以我们需要再return方法的时候,将参数获取,然后再箭头函数中传递使用。 return (...args)=>{ beforeFn(); this(...args); } } let newSay = toSay.before(()=>{ console.log(

超实数促使微积分改革进入快车道

前提是你 提交于 2019-11-27 21:30:36
超实数促使微积分改革进入快车道 2015年6月,Gianni Krakoff教授精心撰写的“Hyperreals and a Brief Introduction to Non-Standard Analysis”科普文章(共计16页),简单易懂,很有阅读参考价值。 当今,国人将超实数拒之门外,是短视行为为。 历史在前进,开倒车是没有出路的。 袁萌 陈启清 7月15日 附件: Hyperreals and a Brief Introduction to Non-Standard Analysis Math 336 Gianni Krakoff Abstract Abstract The hyperreals are a number system extension of the real number system. With this number system comes many advantages in the use of analysis and applications in calculus. Non-standard analysis refers to the use of infinitesimals in doing analysis instead of the usual epsilon and distance functions. The

python学习笔记—— 函数

▼魔方 西西 提交于 2019-11-27 20:02:04
〈p>读取远程页面 from urllib import urlretrieve def printFile(url): f = open(url) for line in f: if line.strip(): print line f.close() def loadFile(url=r'http://www.idkin.com/contact.html', process=printFile): try: fileName = urlretrieve(url,'tmp.html')[0] print(fileName) except BaseException, e: print(str(e)) if fileName: process(fileName) if __name__ == "__main__": loadFile() #urlretrieve的返回值是一个tuple, 第一个元素就是目标文件名 #如果urlretrieve仅获取一个参数,返回值的第一个元素就是产生的临时文件名 filter函数,类似javascript1.7的Array#filter。filter函数的功能相当于过滤器。调用一个布尔函数fn来迭代遍历每个seq中的元素;返回一个使fn返回值为true的元素的序列。 from random import randint def filter(fn

关于 $.proxy(fn,context,arg) 方法

可紊 提交于 2019-11-27 16:56:40
1 <!-- $.proxy(fn,this,agrument); 2 3 fn: 要被调用的已有的函数。 4 5 this: fn函数所在的对象的名称。 就是 fn在哪里调用,this 就是指向那个作用域中的对象。 6 说白了就是:fn 函数在哪个作用被调用,this就是指向谁。 7 8 arg: 把fn函数所在的对象 this 的参数 传递给fn执行。 9 arg 一定是 fn函数所在的对象this 里面的任何参数皆可。 10 --> 11 <!DOCTYPE html> 12 <html lang="en"> 13 <head> 14 <meta charset="UTF-8"> 15 <title>Document</title> 16 </head> 17 <body> 18 <div id="panel" style="display:none;"> 19 <button class="close">消失</button> 20 </div> 21 <script src="js/jquery.js"></script> 22 <script> 23 /*$("#panel").fadeIn(3000,function () { 24   $('.close').click(function () { 25     $(this).fadeOut(); //

作用域问题的理解

被刻印的时光 ゝ 提交于 2019-11-27 15:45:32
例1:var a = 1function fn1(){ function fn2(){ console.log(a) } function fn3(){ var a = 4 fn2() } var a = 2 return fn3}var fn = fn1()fn() //输出多少调用过程:调用fn()=>fn1(),fn1()返回fn3,调用fn3,fn3中调用了fn2,输出2。分析:fn2中没有a变量,fn2被定义在fn1中,获得fn1中的变量a=2例2:var a = 1function fn1(){ function fn3(){ var a = 4 fn2() } var a = 2 return fn3}function fn2(){ console.log(a)}var fn = fn1()fn() //输出多少调用过程:fn()=>fn1()=>fn3()=>fn2()=>consolo.log(a)=>输出分析:fn2中没有a变量,在fn1作用域中寻找,任没有,在全局作用域寻找,输出1例3:var a = 1function fn1(){ function fn3(){ function fn2(){ console.log(a) } var a fn2() a = 4 } var a = 2 return fn3}var fn = fn1()fn() /

夯实JS主要知识点

。_饼干妹妹 提交于 2019-11-27 12:25:13
夯实JS主要知识点 转自:https://juejin.im/post/5d54e78be51d4561b072dce6 从事前端行业到现在,感觉自己进步最大的时候就是去年打算换工作开始学习的那段时间,特别是看 yck 大佬的掘金小册《前端面试之道》的那段时间。正是那段时间的学习,慢慢对前端知识体系有了个模糊的轮廓,而且也开始接触掘金这个有意思的技术平台。如今工作尘埃落定,倒开始懒散了,通勤路上又开始玩游戏了,晚上回家又开始玩游戏不看书了,闲的时候开始在微信群QQ群注水了。可是距离30岁越来越近,眼前的路却越来越模糊。我知道留给我补课的时间不多了。工作的前三年已经被我挥霍掉,如果这两年不把失去的时间补回来,我可能永远都只能停留在初中级程序员的水平。谨记我还是一个半路出家的非科班出身的大龄初级前端开发工程师,自勉! 基本类型和引用类型 类型判断 强制类型转换 作用域 执行上下文 理解函数的执行过程 this 指向 闭包 原型和原型链 js 的继承 event loop 基本类型和引用类型 js中数据类型分为基本类型和引用类型,基本类型有六种: number string boolean null undefined symbol (es6) 引用类型包括对象 object 、数组 array 、函数 function 等,统称对象类型: object string 类型即字符串

最大子序和

妖精的绣舞 提交于 2019-11-27 10:51:35
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 解:这道题关键要区分开连续最大值和最大值,我就写错了 另外动态公式为f(n) = max(f(n-1) + A[n], A[n]); 将这些最大和保存下来后,取最大的那个就是,最大子数组和。因为最大连续子数组 等价于 最大的以n个数为结束点的子数列和 class Solution { public: int maxSubArray(vector<int>& nums) { if(nums.empty()) { return 0; } int fn=0,i=0,imax=INT_MIN; for(;i<nums.size();i++) { fn=max(nums[i],fn+nums[i]); imax=max(imax,fn); } return imax; } }; 来源: https://www.cnblogs.com/wangshaowei/p/11360456.html