问题标签 [noop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - javascript - 首先将变量声明为函数的目的是什么?(两次声明变量)
这是我遇到的代码:
为什么c
先声明为空函数,然后重新声明为对象?这不只是覆盖函数声明吗?我想这是一个基本的 JS 构造。
javascript - JavaScript——鼠标事件监听器中性能最高的无操作?
语境
我正在构建一个 Redux 应用程序,并希望click
事件mousemove
处理程序根据应用程序状态进行更改。
为了实现这一点,我计划将一个click
单一mousemove
的处理程序附加到document
. 这些将属于订阅 Redux 存储并知道相关状态的范围。
我看到了两种实现处理程序的策略:
switch
针对相关状态变量使用语句。这switch
必须为每个触发的事件调用。- 每当状态更新时,引用内部(到范围)
scope._clickHandler
和交换其所指对象的属性。scope._moveHandler
问题一:
如果我选择策略 2,我会希望我的mousemove
处理程序大部分时间什么都不做。但是mousemove
经常被解雇!可以绑定到该scope._moveHandler
属性的性能最高的无操作函数是什么?
问题2:
switch
在最好的情况下(w/r/t 问题 1),假设策略 1 中使用的语句必须测试 10 到 100 个案例,策略 2 会比策略 1 更高效吗?
澄清
在这种方法中,当事件触发时,总是会调用一个“委托”函数。该函数将根据状态属性做不同的事情,要么通过匹配 a 中的状态,要么switch
简单地将不同的“委托”函数绑定为状态。
问题 1 询问最佳的无操作“委托人”函数,而问题 2 询问switch
在mousemove
回调中使用大块所导致的性能损失。
如果我们作为一个社区同意@nnnnnn 的直觉,那function(){}
就是它对于无操作来说是最好的,那么我的问题就变成了:
哪个对性能更不利:无操作函数调用的开销,还是switch
块中的相等比较?
mips - MIPS 指令之间的无操作数
我有一系列指令如下:
问题是:
在没有转发的基本五阶段管道中,I2 和 I3 之间应该有多少个 noop?
我认为数字是2,而书中给出的解决方案是1。我错过了什么吗?任何线索表示赞赏。
问题实际上是计算机组织和设计的练习 4.13,硬件/软件接口第四版。
javascript - 执行需要很长时间(毫秒)的 NOP 的 JavaScript
假设我被迫以这种野蛮的方式睡觉。
我不能使用事件(例如 setTimeout),它不在问题的约束范围内,并且之前已经深入讨论过这样做。
我只想知道,你能想出我可以插进去的东西吗?最好是需要很长时间才能运行的单个语句(也许需要时间来 malloc 一个巨大的区域?)
花费大量的 CPU 时间是可以的,即使它在技术上不是 NOP。此外,睡过头也没问题。冻结浏览器不是问题。我最感兴趣的是最小化在睡眠期间运行的语句数量,所以基本上:执行时间最长的单个语句并没有真正“做”任何事情。
typescript - 类型 '() => void' 不可分配给类型 '() => {}'
我理解错误信息:
类型 '() => void' 不可分配给类型 '() => {}'
好吧,它告诉我有一个类型转换问题。但是我无法弄清楚为什么编译器认为类型不一样。
代码的背景是我有一个打字稿类,它被赋予了一个函数,然后将其存储为一个成员。我希望能够使用空的“noop”函数初始化成员,这样它就不必在使用前对其进行空检查。
我设法将问题减少到以下示例测试代码:
构造函数中的三个语句都旨在完成相同的工作:使用无操作函数初始化成员。然而,只有最后一条语句有效:
其他两个语句产生编译错误。
有谁知道为什么编译器似乎无法匹配类型?
multithreading - javamail idle 停止触发消息一段时间后添加,线程锁定
我正在开发一个接收和处理邮件消息的 android 应用程序。该应用程序必须连接到 IMAP 服务器并保持连接处于活动状态,以便它可以立即查看和处理新邮件消息(邮件包含来自邮件 api 服务器的 json 数据)。该应用程序有两种模式,手动和实时连接。这是我的一些代码:
}
问题是:有时当用户刷新或应用程序自动刷新时,在活动连接模式下,这种情况中的一个或两个会阻止我的应用程序收到新消息。这是来自 javamail 源代码。
1: IdlerThread 进入监听状态:
2:“refresherThread”进入等待状态:
由于这两个线程之一“停止”运行(等待和监视状态),我的应用程序在达到此条件时无用。在我的国家,移动数据网络非常不稳定、缓慢且昂贵(GSM),因此它必须具有故障恢复能力并注意每一个传输的位。
我想当连接静默失败并且 refresherThread 开始执行其工作时,就会出现问题。如果 idle 处于活动状态,它会发出 DONE 命令,但是,当连接消失时,当 idle 尝试抛出 FolderClosedException 时,一个或两个线程被无限期锁定。
所以,我的问题是:为什么会出现这种情况以及如何预防?如何保持空闲循环安全运行而不会被锁定?
我尝试了很多东西,直到筋疲力尽,没有结果。
这是我读过的一些主题,但没有找到解决问题的方法。在我的国家,互联网也非常昂贵,所以我无法进行尽可能多的研究,也无法列出我访问过的所有网址以查找信息。
JavaMail:保持 IMAPFolder.idle() 活着
JavaMail:保持 IMAPFolder.idle() 活着
Javamail:为 IMAPFolder 发出 idle() 的正确方法
请原谅我的英语。任何建议将不胜感激。我听说过这个网站的严格性,所以请温柔一点,我是新来的。
elm - 在 Elm 中没有消息的 Cmd
Cmd
是否可以在 Elm中创建一个在完成时不发送消息的?
具体来说,我试图让一个元素抓住焦点(以编程方式),但我不需要知道结果:
有没有办法让榆树“引擎”在此之后不发送消息Cmd
?
我知道我的代码 ( FocusReceived result -> model ! []
) 是无操作的,但我希望根本不发送消息。
bash - Crontab 电子邮件主题中的日期
我有一个 ubuntu 服务器,我在其中安排 crontab 进程,如下所示。
在该过程结束时,我将收到一封主题为“备份设置...”的电子邮件。本质上,noop 函数 (:) 对“备份设置”一词没有任何作用。我想在电子邮件主题中添加今天的日期。自然地,我试过了
但这不会产生所需的电子邮件主题,即“20180519 备份设置”。$(...) 代码未被评估。我不想运行另一个具有电子邮件功能的脚本,然后调用 backup_settings.sh。有没有办法在 crontab 中只使用 Bash 命令?