小编Ben*_*Ben的帖子

了解requestanimationframe

我正在努力克制requestanimationframe.

说这requestanimationframe是一个浏览器API 是否正确,它使得影响绘制的用户界面的逻辑能够在下一次到图形子系统的接口之前尽力完成,以避免浪费精力绘画由于物理屏幕刷新周期和应用程序渲染循环之间的相位差异,从未进入屏幕的帧?

javascript requestanimationframe

2
推荐指数
1
解决办法
584
查看次数

使对象不可调用

在JavaScript中,函数是可调用的.

我可以从函数中删除此属性,只留下一个普通对象吗?

var foo = function () {};
foo.[[callable]] = false; // pseudocode
foo(); // "foo is not a function"
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
588
查看次数

是范围.$在AngularJS中应用同步?

以下代码是否在AngularJS中同步?

scope.$apply(function(){
  console.log('foo');
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

2
推荐指数
1
解决办法
1177
查看次数

在Jasmine中将参数与函数匹配

我想对传递给spied-on函数调用的参数执行自定义声明。我是否可以提供对参数使用的回调?

expect(my.method).toHaveBeenCalledWith(jasmine.argumentMatching(myCustomCallback), jasmine.any({}));
Run Code Online (Sandbox Code Playgroud)

... jasmine.argumentMatching(myCustomCallback)伪代码在哪里。

javascript jasmine

2
推荐指数
1
解决办法
930
查看次数

恢复 git 中最多的前 n 次提交

如何恢复 git 中的前 3 个提交?

例如:

git revert -n master~3..HEAD
Run Code Online (Sandbox Code Playgroud)

这是正确的语法吗?

git

2
推荐指数
1
解决办法
1992
查看次数

JavaScript 数字文字中的指数语法 (1e2) 是 IEEE 754 规范的一部分吗?

1e2JavaScript 数字文字中的指数语法(例如)是 IEEE 754 规范的一部分还是 JavaScript 特定的功能?

javascript floating-point

2
推荐指数
1
解决办法
1212
查看次数

Promise.then 作业执行顺序

规范说(第 5 段):

来自单个作业队列的 PendingJob 记录始终以 FIFO 顺序启动。本规范未定义服务多个作业队列的顺序。ECMAScript 实现可以将作业队列的 PendingJob 记录的 FIFO 评估与一个或多个其他作业队列的 PendingJob 记录的评估交织在一起。

这是否意味着我不能指望在其他同步控制流中.then提供回调之前评估提供的回调setTimeout

换句话说,我可以依赖以下打印吗one two

setTimeout(() => console.log('two'));
Promise.resolve().then(() => console.log('one'));
Run Code Online (Sandbox Code Playgroud)

javascript promise

2
推荐指数
1
解决办法
1149
查看次数

为什么 Intl 和 Reflect 的默认字符串表示形式是`[object Object]`?

内置“命名空间”对象的字符串标签如MathJSON是同名的。

但是,这不是为案件IntlReflect。为什么?

console.log(Object.prototype.toString.call(Math))    // [object Math]
console.log(Object.prototype.toString.call(JSON))    // [object JSON]
console.log(Object.prototype.toString.call(Atomics)) // [object Atomics]

// ...but

console.log(Object.prototype.toString.call(Intl))    // [object Object] (?!)
console.log(Object.prototype.toString.call(Reflect)) // [object Object] (?!)
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
39
查看次数

使用StackTrace来推断方法的调用者

编辑:警告 - 我现在意识到以下技术通常被认为是一个坏主意,因为它为了看起来整洁而创建隐藏的依赖项.


我最近发现您可以使用StackTrace来推断有关方法调用者的信息.

这使您可以创建一个看似"酷"的API,您只需调用一个方法而无需将任何显式参数传递给它,并且该方法可以根据StackTrace计算出该做什么.

这是一件坏事,如果是这样,为什么?

例:

public class Cache {
  public Object CheckCache()
  {
    Object valueToReturn = null;
    string key = GenerateCacheKeyFromMethodPrototype(new StackTrace().GetFrame(1).GetMethod()); //frame 1 contains caller
    if(key is in cache) valueToReturn = itemFromCache;

    return valueToReturn;   
  }
}

public class Foo { 
  private static Cache cache = new Cache();

  public Blah MethodFoo(param1, param2...)
  {
    Blah valueToReturn = cache.CheckCache(); //seems cool!
    if(valueToReturn == null)
    {
      valueToReturn = result of some calculation;
      //populate cache
    }

    return valueToReturn;
  }
}
Run Code Online (Sandbox Code Playgroud)

我确定上面的伪代码有错误,但你得到了我的漂移.


编辑:感谢大家的回复.

c# stack-trace

1
推荐指数
1
解决办法
907
查看次数

确定Ubuntu上的网络流量来源

我运行Ubuntu安装作为服务器.我注意到它不断通过互联网传输数据,这有点出乎意料.

是否有一个工具可用于确定数据的来源(即哪个程序正在发送信息)?

我有完全的根和物理访问机器.

谢谢

ubuntu networking

1
推荐指数
1
解决办法
754
查看次数