回调函数

ES6新增常见特性

匿名 (未验证) 提交于 2019-12-03 00:10:02
var let const 区别 1.var声明变量会发生变量提升,let、const不会发生变量提升 2.var允许重复声明变量,let不可以 3.const声明变量不可以被改变 用反引号创建字符串,其中可用${'变量'} console.log(`your name is ${name}`); 与普通函数的区别 1、书写上用=>代替了function 2、普通函数的this指向window 而ES6箭头函数里面的this指向定义时的那个对象 而不是运行时的那个对象 //普通函数 var test = function(x){ return x+2; } 使用箭头函数: var test = x=>x+2; ES6中添加了对类的支持,引入了class关键字 以前编写一个构造函数(类) function Pad(color){ this.color = color; } 现在的写法跟Java更接近了 class Iphone{ constructor(color, size){ this.color = color; this.size = size; } playgame(){ //............. } toString(){ return `这台手机的颜色是${this.color} 屏幕大小是${this.size}`; } } 我们定义了一个类,名字叫Iphone

7、《Libevent中文帮助文档》学习笔记7:事件循环

匿名 (未验证) 提交于 2019-12-03 00:09:02
1 运行循环 有了event_base,并且有一些 event注册到其中 (关于怎样创建和注册event请参考下一章节),就需要 等待这些event ֪ͨ 你他们发生了什么 。 接口 #define EVLOOP_ONCE 0x01 #define EVLOOP_NONBLOCK 0x02 #define EVLOOP_NO_EXIT_ON_EMPTY 0x04 int event_base_loop ( struct event_base * base , int flags ); 通常event_base_loop()函数 运行一个event_base直到其中再无event注册进来 。循环运行,然后不断重复判断是否有已经注册的event触发(例如如果读event的文件描述符准备读或者event的超时即将到来)。一旦这些情况发生,就会标记所有的触发event为 激活状态 ,然后开始 运行这些事件 (比喻读IO)。 设置flags参数一个或多个标记可改变event_base_loop()的行为。设置EVLOOP_ONCE循环将会由event激活,然后运行这些event,直到再无event后返回。设置EVLOOP_ONCE循环不会再等待有event触发,只会检查是否有event做好准备立刻触发,有则运行其回调函数。 通常没有等待的或者已经激活的event循环将退出

js中数组方法大全

匿名 (未验证) 提交于 2019-12-03 00:03:02
js数组方法大全    一: 前言   我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会忘记,那么在这里我整理了21个数组的方法,供大家查阅。 方法名 对应版本 功能 原数组是否改变 concat() ES5- 合并数组,并返回合并之后的数据 n join() ES5- 使用分隔符,将数组转为字符串并返回 n pop() ES5- 删除最后一位,并返回删除的数据 y shift() ES5- 删除第一位,并返回删除的数据 y unshift() ES5- 在第一位新增一或多个数据,返回长度 y push() ES5- 在最后一位新增一或多个数据,返回长度 y reverse() ES5- 反转数组,返回结果 y slice() ES5- 截取指定位置的数组,并返回 n sort() ES5- 排序(字符规则),返回结果 y splice() ES5- 删除指定位置,并替换,返回删除的数据 y toString() ES5- 直接转为字符串,并返回 n valueOf() ES5- 返回数组对象的原始值 n indexOf() ES5 查询并返回数据的索引 n lastIndexOf() ES5 反向查询并返回数据的索引 n forEach() ES5

ScrapySpider的使用

匿名 (未验证) 提交于 2019-12-02 23:55:01
# setings文件 # 设置只打印warning以上等级的日志信息 LOG_LEVEL = 'WARNING' # baiduSpider.py文件 import scrapy from spiderDM.items import SpiderdmItem class BaiduspiderSpider(scrapy.Spider): name = 'baiduSpider' allowed_domains = ['www.baidu.com'] # start_urls = ['http://www.baidu.com/'] # 和start_urls功能相似,是程序开始执行的方法。 def start_requests(self): url = "http://www.baidu.com" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36" } cookies = { "cookie": "_zap=14ce0193-6056-4233-a292-697015b7845f" } item = {"data": "information"}

Scrapy中的Spider

匿名 (未验证) 提交于 2019-12-02 23:51:01
Spider 类定义如何爬取指定的一个或多个网站,包括是否要跟进网页里的链接和如何提取网页内容中的数据。 爬取的过程是类似以下步骤的循环: 1.通过指定的初始URL初始化Request,并指定回调函数。当Request下载完后,生成Response作为参数传给回调函数。初始的Request是通过start_requests()读取start_urls中的URL来生成的,回调函数为parse()。 2.在回调函数中分析Response的内容,返回Item对象或者Request或包含二者的可迭代容器。返回Request对象经过Scrapy处理,下载相应的内容,并调用设置的回调函数。 3.在回调函数中,可以用选择器(或者Beautiful Soup,lxml这些解析器)来分析网页内容,生成Item。 4.生成的Item可以存入数据库,或存入到文件。 1. Spider 类 class scrapy.spiders.Spider:最简单的爬虫类。 方法与属性: name:爬虫名,要唯一。 allowed_domains:允许爬取的域名列表。 start_urls:初始的URL列表。 custom_settings:参数配置字典,必须是类属性,因为参数配置在实例化前被更新。 crawler:此属性是由from_crawler()设置的。 settings:运行此爬虫的设置。 logger

Yahoo YUI的Ajax工具包

匿名 (未验证) 提交于 2019-12-02 23:49:02
原文链接: http://www.cnblogs.com/wj110reg/articles/858195.html YUI简介 雅虎前不久推出了称为YUI的 Ajax工具包 ,同时Yahoo发表了一系列的 Ajax设计模式 . Yahoo的这些工具包是Yahoo在收购了多个Web2.0网站后推出的Ajax工具包,代码的注释也写的很好,文档也很丰富和详尽。 YUI的组件也在不断的增加中,yahoo为YUI设了一个 Yahoo用户组 ,里面的邮件很活跃,问的问题基本都有人回答,而且比较细致和具体。 YUI分为两个大类,一个是Ajax组件,里面包括对底层javascript包装后的几个工具包,分别是connection,event, dom,animation,dnd.还包括一组高级的javascript控件,目前包括AutoComplete,Calendar, Container,Menu,Slider,TreeView. 另一类是几个很有用的几个CSS文件,一个是CSS Page Grids,用它可以很方便的布局你的网页。另外两个是Standard CSS Fonts和Standard CSS Reset,利用这两个CSS可以对字体等在不同浏览器中获得一致的效果. Yahoo的Ajax设计模式是在目前的WEB2.0网站中常用的一些改善用户体验,增强交互效果的文章,格式和Design

DoTween联合动画Sequence的使用

匿名 (未验证) 提交于 2019-12-02 23:49:02
Sequence的几个方法: Append(Tween tween) 在Sequence的最后添加一个tween。 AppendCallback(TweenCallback callback) 在Sequence的最后添加一个回调函数。 AppendInterval(float interval) 在Sequence的最后添加一段时间间隔。 Insert(float atPosition,Tween tween) 在给定的时间位置上放置一个tween,可以实现同时播放多个tween的效果,而不是一个接一个播放。 InsertCallback(float atPosition, TweenCallback callback) 在给定的时间位置上放置一个回调函数。 Join(Tween tween) 在Sequence的最后一个tween的开始处放置一个tween。可以实现同时播放多个tween的效果,而不是一个接一个播放。 Prepend(Tween tween) 在Sequence开始处插入一个tween,原先的内容根据时间往后移。 PrependCallback(TweenCallback callback) 在Sequence开始处插入一个回调函数。 PrependInterval(float interval) 在Sequence开始处插入一段时间间隔

requestAnimationFram

匿名 (未验证) 提交于 2019-12-02 23:49:02
window.requestAnimationFrame() 注意:若你想在浏览器下次重绘之前继续更新下一帧动画,那么回调函数自身必须再次调用 window.requestAnimationFrame() 当你准备更新动画时你应该调用此方法。这将使浏览器在下一次重绘之前调用你传入给该方法的动画函数(即你的回调函数)。回调函数执行次数通常是每秒60次,但在大多数遵循W3C建议的浏览器中,回调函数执行次数通常与浏览器屏幕刷新次数相匹配。为了提高性能和电池寿命,因此在大多数浏览器里,当 requestAnimationFrame() requestAnimationFrame() 回调函数会被传入参数, requestAnimationFrame() window.requestAnimationFrame(callback); callback 下一次重绘之前更新动画帧所调用的函数(即上面所说的回调函数)。该回调函数会被传入参数,该参数与的返回值相同,它表示 requestAnimationFrame() long window.cancelAnimationFrame() 范例 var start = null; var element = document.getElementById('SomeElementYouWantToAnimate'); element.style

ESP8266内置的定时器库--Ticker库

匿名 (未验证) 提交于 2019-12-02 23:49:02
Ticker的功能非常简单,就是规定时间后调用函数 总体上,根据功能可以把方法分为两大类: 定时器管理方法; 定时器启用方法; seconds 秒数 callback 回调函数 注意点: 不建议使用Ticker回调函数来阻塞IO操作(网络、串口、文件);可以在Ticker回调函数中设置一个标记,在loop函数中检测这个标记; 对于arg,必须是 char, short, int, float, void*, char* 之一; 例子一: #include <Ticker.h> //导入定时器库 Ticker flipper; //实例化定时器对象 int count = 0; void flip() { //回调函数 int state = digitalRead(LED_BUILTIN); digitalWrite(LED_BUILTIN, !state); ++count; if (count == 20) { flipper.attach(0.1, flip); //每隔0.1秒执行一次回调函数 } else if (count == 120) { flipper.detach(); } } void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); flipper.attach(0

ROS中的多传感器时间同步

匿名 (未验证) 提交于 2019-12-02 23:40:02
问题 在对多传感器数据融合时,由于各个传感器采集数据的发布频率的不同,例如odom一般为50Hz、imu一般为100Hz、camera 一般为25Hz,需要将传感器数据进行时间同步后才能进行融合。 方法 分别订阅不同的需要融合的传感器的主题,通过TimeSynchronizer 统一接收多个主题,并产生一个同步结果的回调函数,在回调函数里处理同步时间后的数据。 输入 C++ Python : N separate filters, each of which has signature callback(msg). 输出 C++ Python 示例 #include <message_filters/subscriber.h> #include <message_filters/time_synchronizer.h> #include <sensor_msgs/Image.h> #include <sensor_msgs/CameraInfo.h> using namespace sensor_msgs; using namespace message_filters; void callback(const ImageConstPtr& image, const CameraInfoConstPtr& cam_info) { // Solve all of perception