【问题标题】:How to make a javaScript variable equal to something or something else? [duplicate]如何使 javaScript 变量等于某物或其他东西? [复制]
【发布时间】:2014-10-22 23:34:47
【问题描述】:

尝试为显示的图像添加随机性。说呼叫和或声明的问题。

var image = url3 | url2 | url1;
    buildImage(image);



function buildImage(imagesrc) {
    var img = document.createElement('img');
    img.src = imagesrc;
    document.getElementById('content').appendChild(img);

【问题讨论】:

  • 你想从一个数组中随机选择一个 URL?
  • 你对OR在编程中的含义有一个非常混乱的理解。这不是你如何制作事物的集合,而是布尔或二进制操作。
  • @Barmar 公平地说,如果这是 SML,datatype image = url1 | url2 | url3 将完全有效。

标签: javascript


【解决方案1】:
var images = [url3, url2, url1];
var image = images[(Math.random() * images.length)|0];

“或”运算符不是将返回一个值或另一个值的概率“或”。它们非常具体:|| 将返回第一个值,除非它是虚假的,在这种情况下它返回第二个值; | 将两个参数都转换为整数,并对每个单独的二进制数字应用相同的操作。

【讨论】:

    【解决方案2】:

    不要使用单独的变量,而是创建一个urls 数组:

    var urls = [
        "http://example.com/img1.jpg",
        "http://example.com/img2.jpg",
        "http://example.com/img3.jpg"
    ];
    

    然后您可以通过以下方式选择一个随机 URL:

    var url = urls[Math.floor(Math.random() * urls.length)];
    

    并致电buildImage

    buildImage(url);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多