工作中的某个人开玩笑地发了一封带有html文件的电子邮件,意图使你的浏览器崩溃,如下所示
<html>
<script type="text/javascript">
function crash(){
for(i=0;i<5000000001;i++){
document.write(i);
}
}
</script>
<body onload="crash();">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
无论如何,它并没有在Chrome中做得很好,并且谈话产生了一个友好的竞争,看看谁可以编写javascript以尽可能快地使页数达到5,000,000,000而不会导致浏览器无响应或崩溃.
我想出了以下用于Chrome的javascript.
<html>
<script type="text/javascript">
function countToFiveBillion(counter, num){
if(num < 5000000000)
{
num++;
if(num % 18700 == 0){
counter.innerHTML = num;
setTimeout(function() {countToFiveBillion(counter, num)}, 1);
} else {
countToFiveBillion(counter, num);
}
}
}
function initiateCountDown()
{
var counter = document.getElementById("counter");
var num = +counter.innerHTML;
countToFiveBillion(counter, num);
}
</script>
<body onload="initiateCountDown();">
<div id="counter">0</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这只会在chrome中运行的原因是我正在使用setTimeout调用来避免在chrome中创建stackoverflow.(Chrome还允许您在所有浏览器中进行递归调用的最大堆栈).
我有什么方法可以更快地计算这个数字吗?我认为我可以在导致溢出之前稍微增加一点数量(虽然小于100)但唯一的规定是必须显示尽可能多的数字.
改进代码:
<html>
<script type="text/javascript">
var counter;
var …Run Code Online (Sandbox Code Playgroud) 我有一个32位的PNG,代表一个透明正方形中间的蓝色方块.下面,我用3个不同的不透明度值显示了这个蓝色方块:

从左到右,不透明度分别为1,0.5和0.1,如您所见(如果不能,只相信您的Photoshop吸管),蓝色方块周围的区域仅在左侧图像上是透明的.
这是与颜色值相同的图像:

我知道它几乎看不见但我想知道是什么原因造成的.再加上一些图像和背景,对比度更加明显.
谢谢!
编辑:这是我的VS解决方案,适合那些想在家里试用的人:http://www.mediafire.com/?gt704e62d53z7ae
我有以下(虚构)表:
?????????????????????? ??????????????????????
? Course ? ? Person ?
?????????????????????? ??????????????????????
? ID ? int ? ? ID ? int ?
? Name ? varchar(50) ? ? Name ? varchar(50) ?
?????????????????????? ??????????????????????
?????????????????????? ???????????????????????
? Occupation ? ? B_Occupation_Person ?
?????????????????????? ???????????????????????
? ID ? int ? ? Person_ID ? int ?
? Name ? varchar(50) ? ? Ocupation_ID ? int ?
?????????????????????? ???????????????????????
???????????????????
? B_Course_Person ?
???????????????????
? Course_ID ? int ?
? Person_ID ? int ? …Run Code Online (Sandbox Code Playgroud) 我正在尝试删除两个日期之间的所有实体(即2个分区键)WADLogsTable.到目前为止,我发现的最好的代码是这个(来自http://wintellect.com/blogs/jlane/deleting-entities-in-windows-azure-table-storage):
private static void DeleteAllEntitiesInBatches(CloudTable table, Expression<Func<DynamicTableEntity, bool>> filters)
{
Action<IEnumerable<DynamicTableEntity>> processor = entities =>
{
var batches = new Dictionary<string, TableBatchOperation>();
foreach (var entity in entities)
{
TableBatchOperation batch = null;
if (batches.TryGetValue(entity.PartitionKey, out batch) == false)
{
batches[entity.PartitionKey] = batch = new TableBatchOperation();
}
batch.Add(TableOperation.Delete(entity));
if (batch.Count == 100)
{
table.ExecuteBatch(batch);
batches[entity.PartitionKey] = new TableBatchOperation();
}
}
foreach (var batch in batches.Values)
{
if (batch.Count > 0)
{
table.ExecuteBatch(batch);
}
}
};
ProcessEntities(table, processor, …Run Code Online (Sandbox Code Playgroud) 根据我在几个 SO 答案中的理解,如果计算机在 asetTimeout被调用后进入睡眠模式,则应忽略睡眠期。
例如:
setTimeout(foo, 30000);foo被调用但是,我的测试显示以下行为:
setTimeout(foo, 30000);foo调用我的理解是,当计算机唤醒时,如果在休眠期间会触发超时,则立即触发,否则在t0 + [超时值]时触发。
那么预期的行为是什么?所有浏览器和操作系统都一样吗?
我的一项测试(在 Windows 10 上使用最新版本的 Chrome):https : //codepen.io/robloche/pen/GRJvEJB
我使用BusyIndicatorSL Toolkit 5中的控件ChildWindow.
在某些解决方案中,它可以工作但在其他方面,使用完全相同的代码(至少看起来如此),在解析我的ChildWindowXAML 期间,我在运行时遇到以下异常:
未找到"BusyIndicator"类型,因为"http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"是一个未知的命名空间.[线路:59位置:44]
它有时可能有效吗?我浏览了一些论坛并阅读了一些解决方案(清理Bin和Obj文件夹什么也没做)但到目前为止还没有任何工作.
如果我BusyIndicator在代码隐藏中创建我,一切都运行正常.
有人有想法吗?
谢谢.
javascript ×2
silverlight ×2
azure ×1
c# ×1
namespaces ×1
opacity ×1
png ×1
recursion ×1
settimeout ×1
sleep-mode ×1
sql ×1
toolkit ×1
transparency ×1