2014-08-29 1 views
-2

Попытка добавить случайность, на которое отображается изображение. Выпуск с высказыванием вызова и/или утверждения.Как сделать переменную javaScript равной чему-то или чем-то еще?

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



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

You хотите выбрать URL-адрес случайно из массива? – Barmar

+3

У вас очень запутанное понимание того, что означает 'OR' в программировании. Это не то, как вы делаете коллекцию вещей, это логическая или двоичная операция. – Barmar

+0

@Barmar Справедливости ради, если это было SML, 'datatype image = url1 | url2 | url3' был бы совершенно прав. –

ответ

2
var images = [url3, url2, url1]; 
var image = images[(Math.random() * images.length)|0]; 

«или» операторы не вероятностный «или», который будет возвращать одно значение или другое. Они очень специфичны: || вернет первое значение, если оно не является ложным, и в этом случае оно возвращает второе; и | преобразует оба аргумента в целые числа и применяет одну и ту же операцию к каждой отдельной двоичной цифре.

1

Вместо того, чтобы использовать отдельные переменные, сделать 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); 
Смежные вопросы