草庐IT

c++ - 与神秘指针相关的多线程速度减慢

全部标签

javascript - 在 javascript 的协作线程意义上是否有正确的 'yield' 方法?

我正在编写一个无处不在的插件,ajax查询的长函数回调阻塞了GUI线程,导致firefox锁定。明显的解决方案似乎是使用某种延迟执行(即我们希望定期将执行此查询函数添加到事件队列的末尾,然后允许其他命令待执行。我能想到的唯一方法是使用超时为零的settimeout...这是否保证有效,或者是否有更好的方法。 最佳答案 使用setTimeout并设置一个非常小的超时时间(0或者如果您感到偏执,则非常接近于零)是在浏览器上下文中执行此操作的唯一方法。它工作得很好而且非常可靠,但一定要足够频繁地产生,但不要太,因为它确实需要一段时间才能返

javascript - 为什么 JavaScript 的后自增运算符与 C 和 Perl 不同?

我目前正在准备JavaScript考试。我对C和Perl也有一点了解,所以我熟悉这三种语言的前缀和后缀运算符。我为它做了一个在线练习考试,我犯的一个错误是在评估以下代码时:varx=10;x+=x--;现在,我认为它会计算为19,因为它是10+10,然后减去1得到9。但我得到的反馈是它是错误的,它实际上计算为20。我认为这听起来有点可疑,所以我在HTML文档中对其进行了测试,结果又是20。然后我尝试了C和Perl中的等价物,并且都评估为19。谁能向我解释为什么JavaScript将答案计算为20而其他语言将其计算为19?我从测试中得到的答案对我来说不是太清楚:Theincrement+

javascript - 解析大量数据 (5Mb) : eval or json? 的速度更快

我想通过ajax获取数据对象的集合,解析成JS数据。目前我有两个选择:-服务器返回有效的javascript代码,然后我对其进行评估。-服务器返回JSON对象,然后我评估json对象Firefox中最快的是什么?(我只关心“解析”性能,不关心服务器或数据传输) 最佳答案 看看theresultsVinylFoxcameup当他在野外测试JSON解码时。native功能在所有浏览器中表现最佳。 关于javascript-解析大量数据(5Mb):evalorjson?的速度更快,我们在Sta

javascript - 如何让 JavaScript 动画在所有系统的所有浏览器上以相同的速度播放?

我有一个函数可以计算在X轴和Y轴上移动的各种对象的动画中的下一帧[我称之为frameRender()]以及一个将生成的帧应用于对象[我称之为frameDisplay()]。对象不只是从A点移动到B点,它们不断移动,总是接收新的目标坐标。我将setInterval()与1000/frameRate间隔一起使用,但这似乎根本不起作用,因为浏览器没有准确的计时。问题是:如何确保动画具有恒定的帧速率,并在所有浏览器、所有系统上以相同的速度运行?我已经尝试了所有方法,即使在不同的浏览器上也似乎无法获得准确的结果(我在Firefox和Chrome上进行了测试,Chrome通常显示速度更快)。结果应

javascript - 使物体沿直线以恒定速度从 A 点移动到 B 点

我知道这个问题之前已经被问过几次,但我找不到真正有效的答案。有一个类似的,但速度取决于行进的距离。所以我的问题是我试图让一个物体(在本例中为玩家)以恒定速度从A点到B点移动一条长直线。这是通过单击播放器并拖动到我希望他走到的位置来完成的,因此它可以在任何方向和任何距离上。我有一些非常接近工作的代码,但玩家总是稍微偏离路线,他行进的距离越长越多。这是代码:window.addEventListener('mouseup',function(e){selectedPlayer.moveX=e.pageX;selectedPlayer.moveY=e.pageY;movePlayer(sel

javascript - 将 SVG 路径转换为相关命令

给定一个SVG路径元素,如何将所有路径命令转换为相对坐标?例如,转换此路径(包括每个命令,绝对的和相对的,交错的):进入这个等效路径:这个问题的动机是thisquestion. 最佳答案 Snap.SVG有Snap.path.toRelative()。varrel=Snap.path.toRelative(abspathstring);Fiddle 关于javascript-将SVG路径转换为相关命令,我们在StackOverflow上找到一个类似的问题: h

javascript - JavaScript 是单线程的吗?如果没有,我如何获得对共享数据的同步访问?

我有一个包含DIV的网页,其中包含一个mouseover处理程序,旨在显示弹出信息气泡。我不希望一次显示多个信息气泡。但是当用户在两个项目上快速移动鼠标时,有时会出现两个气泡。这不应该发生,因为显示弹出窗口的代码取消了之前的弹出窗口。如果这是一个多线程系统,那么问题就很明显了:有两个线程试图显示一个弹出窗口,它们都取消了现有的弹出窗口,然后弹出了自己的弹出窗口。但我假设JavaScript始终是单线程运行的,这会阻止这种情况发生。我错了吗?事件处理程序是否异步运行,在这种情况下我需要同步访问共享数据,或者我应该在库代码中寻找错误以取消弹出窗口?编辑添加:有问题的图书馆是SIMILETi

javascript - 在 JavaScript 中将参数作为指针传递

看看下面的代码:varo;(function(p){p=function(){alert('test');};})(o);o();//Error:'oisnotafunction'在上面的函数中,我创建了一个接受一个参数的匿名函数,该函数使用先前创建的对象作为参数进行自调用。然后我将该对象指向一个函数(从新范围内)并最终(尝试)从外部调用它。我的问题是,如何“通过引用”传递该参数以更改它指向的指针? 最佳答案 利用Javascript通过引用传递对象这一事实,你可以达到你想要的效果:varo={};(function(p){p.fn

javascript - 通过 Web API 或 libspotify 获取 Spotify 播放历史

有没有办法使用他们的js或CAPI获取我的Spotify播放历史记录?我看到了几个例子,但那是使用他们过时的API版本。 最佳答案 无法通过任何API获得Spotify播放历史记录。免责声明:我是Spotify的员工。 关于javascript-通过WebAPI或libspotify获取Spotify播放历史,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18838743/

javascript - 空格/注释会减慢 Javascript 的速度吗?

我想知道,空格和注释会减慢JavaScript的速度吗?我正在进行暴力攻击,这需要一些时间(30秒)。删除空格并没有显着提高速度,但我认为浏览器确实需要解析更多内容。那么,删除不必要的空格和注释以加快整体速度是否有用? 最佳答案 人们通常使用最小化器来减小脚本的SIZE,以提高下载速度,而不是对解析脚本的速度产生任何影响。空格和注释对浏览器执行的时间几乎没有影响,因为解析器需要检查它是空格还是注释,但实际上以当前的计算能力来说这会非常微小,它会不可能注意到任何影响。然而,即使在我们的宽带世界中可用的带宽很大,SIZE仍然很重要。