小编And*_*ges的帖子

JavaScript的Math.random是多么随机?

6年来,我的网站上有一个随机数生成器页面.很长一段时间,它是Google上"随机数生成器"的第一个或第二个结果,并且已被用于在论坛和博客上决定数十个(如果不是数百个)竞赛和绘图(我知道因为我看到了我的推荐人)网络日志,通常去看看).

今天,有人通过电子邮件告诉我,它可能不像我想的那么随机.她尝试生成非常大的随机数(例如,介于1和10000000000000000000之间),发现它们几乎总是相同的位数.实际上,我将函数包装在一个循环中,因此我可以生成数千个数字,当然,对于非常大的数字,变化只有大约2个数量级.

为什么?

这是循环版本,所以你可以自己试试:

http://andrew.hedges.name/experiments/random/randomness.html

它既包括Mozilla开发者网络的直接实现,也包括1997年我从不再存在的网页中删除的一些代码(Paul Houle的"Central Randomizer 1.3").查看源以查看每种方法的工作原理.

我在这里其他地方读过有关Mersenne Twister的文章.我感兴趣的是为什么JavaScript的内置Math.random函数的结果没有更大的变化.谢谢!

javascript random

111
推荐指数
7
解决办法
6万
查看次数

在JavaScript中,!function(){}()的优点是什么(function(){})()?

可能重复:
感叹号在功能之前做了什么?

我长期以来使用以下JavaScript在JavaScript中执行自动执行的匿名函数:

(function () { /* magic happens */ })()
Run Code Online (Sandbox Code Playgroud)

最近,我开始看到以下模式的更多实例(例如,在Bootstrap中):

!function () { /* presumably the same magic happens */ }()
Run Code Online (Sandbox Code Playgroud)

任何人都知道第二种模式的优势是什么?或者,这只是一种风格偏好吗?

javascript design-patterns iife

81
推荐指数
3
解决办法
8738
查看次数

你如何在jQuery中处理oncut,oncopy和onpaste?

jQuery文档说,库有内置支持下列活动:模糊,焦点,负载,调整大小,滚动,卸载,单击,DBLCLICK,鼠标按下,鼠标松开,鼠标移动,鼠标悬停,鼠标移开,了mouseenter,鼠标离开,改变,选择,提交,keydown,按键,键盘和错误.

我需要处理剪切,复制和粘贴事件.怎么做到最好?FWIW,我只需要担心WebKit(幸运的是我!).

更新:我正在类似仪表板的环境中处理"小部件".它使用WebKit,因此它(这是为了我的目的)是否真的很重要,这些事件是否在那里被支持,它看起来就像它们一样.

javascript jquery webkit event-handling

65
推荐指数
3
解决办法
7万
查看次数

有没有办法让IFRAME的内容溢出到父框架上?

我有一个UI小部件,由于性能原因需要放在IFRAME中,因此我们可以轻松地将它联合到联属网站.窗口小部件的UI包括显示在其他页面内容顶部的工具提示.请参阅下面的屏幕截图或访问该网站以查看其实际操作.有没有办法让IFRAME中的内容与父框架的内容重叠?

工具提示内容需要与父框架内容重叠

javascript css iframe tooltip

47
推荐指数
2
解决办法
4万
查看次数

从JavaScript中的关联数组中获取第一个项目的最有效方法是什么?

我需要从JavaScript中的一个相当大的关联数组中获取第一个项目(实际上,只是第一个键).这是我当前正在做的事情(使用jQuery):

getKey = function (data) {
    var firstKey;
    $.each(data, function (key, val) {
        firstKey = key;
        return false;
    });
    return firstKey;
};
Run Code Online (Sandbox Code Playgroud)

只是猜测,但我要说这是一个更好的(阅读:更有效)的方式来做到这一点.有什么建议?

更新:感谢有见地的答案和评论!我忘记了我的JavaScript 101,其中规范说你不能保证关联数组中的特定顺序.但有趣的是,大多数浏览器确实以这种方式实现它.在获得第一个密钥之前,我不想对数组进行排序,但考虑到我的用例,这可能是不可避免的.

javascript arrays jquery associative

40
推荐指数
2
解决办法
4万
查看次数

是JavaScript还是Javascript?

我知道这不是与编程相关的,但我很好奇这个社区对这个主题的看法.我的理解是JavaScript就是语言的名称.最近,编写Javascript似乎已经变得时髦了.我们是谁要重命名这种语言?我很想知道改变资本化是否有令人信服的论据.谢谢你沉迷我!

javascript

40
推荐指数
4
解决办法
9521
查看次数

Android上的WebKit可以使用哪些DOM事件?

我正在构建面向Android用户的移动网络应用.我需要知道哪些DOM事件可供我使用.我已经能够完成以下工作,但不是非常可靠:

  • 点击
  • 鼠标移到
  • 鼠标按下
  • 鼠标松开
  • 更改

我无法让以下工作:

  • 按键
  • KEYDOWN
  • KEYUP

有没有人知道支持的内容的完整列表以及在什么情况下(例如,onchange只能用于表单输入?)?我在谷歌上找不到这方面的参考.

谢谢!

更新:在Android开发人员列表中了同样的问题.我将做更多的测试,并将在这里和那里发布我的结果.

android dom webkit dom-events

32
推荐指数
3
解决办法
3万
查看次数

使用CSS文本溢出来改变设置高度的元素内的文本行数

我现在深入研究了一些iPhone(Safari/WebKit)Web应用程序开发,并希望拥有标题文本和正文文本的设置高度项目,以便始终显示3行.如果标题文本很短,则应显示2行正文.如果标题文本很长,则最多应占用2行,并为正文留下1行.每当文本被截断时,它应该显示省略号作为最后一个字符.

我想出了以下内容,它可以完成我需要的一切,除了它不显示省略号.有没有办法让这个解决方案满足最后的要求?

下面的代码,由Safari http://segdeha.com/assets/imgs/stack-ellipsis.png呈现

<!DOCTYPE HTML>
<html>
    <head>
        <style type="text/css">

        #container {
            width: 100px;
        }

        p {
/*          white-space: nowrap; */
            font-family: Helvetica;
            font-size: 12px;
            line-height: 16px;
            text-overflow: ellipsis;
            max-height: 48px;
            overflow: hidden;

            border: solid 1px red;
        }

        strong {
/*          white-space: nowrap; */
            font-size: 16px;
            display: block;
            text-overflow: ellipsis;
            max-height: 32px;
            overflow: hidden;
        }

        </style>
    </head>
    <body>
        <div id="container">
            <p>
                <strong>Short title</strong>
                This is the text description of the item. 
                It can flow onto more than 2 lines, too, …
Run Code Online (Sandbox Code Playgroud)

css css3

23
推荐指数
1
解决办法
4万
查看次数

Web浏览器中的z-index值是否有上限?

我有一个案例,第三方广告正在通过我的模态窗口实现流血.我想尽可能高地提高模态叠加层的z-index,这样广告就不会显示在它上面.z-index值是否有限制?我确定它是否因浏览器而异.谁知道?

browser z-index

20
推荐指数
3
解决办法
2万
查看次数

使用AppleScript从Web浏览器中最前面的窗口中获取URL:最终列表

我构建了一个[widget] [1],它从Safari中最前面的窗口抓取URL,然后允许你使用tr.im API缩短它.工作甜美如.

我想让它更灵活,所以我正在研究如何从其他浏览器中获取URL.这是在Safari中运行的AppleScript:

tell application "Safari"
    return URL of front document as string
end tell
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘后,我确定以下内容可能适用于Firefox(虽然有人告诉我它对他不起作用,可能与某些扩展冲突?):

tell application "Firefox"
    set myFirefox to properties of front window as list
    return item 3 of myFirefox
end tell
Run Code Online (Sandbox Code Playgroud)

注意:上面是一个不太好的做法的例子,依赖于列表项的位置.请参阅下面的Firefox更好的解决方案.

我想做的是在这里建立一个列表,列出Mac上每个现代浏览器的最终等价物:Opera,Camino,Flock等.

更新:在我对这个主题的研究中,我在MacOSXHints.com上遇到了一个有用的主题.我下面的大部分答案都是基于这个讨论.

更新2:我已将此页面上的AppleScript合并到[widget] [1]中.它似乎工作膨胀.

safari firefox applescript camino flock

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