TypeError: Result of expression 'rand' [1] is not a function - Ошибка



  • Из за чего так происходит?
    Когда выполняю код

    var arr = ["Привет","Здравствуй"];
    var rand = Math.floor(Math.random() * arr.length);
    [[LANGS]] = arr[rand];
    

    А потом делаю Эмуляция бездействия, выходит такая ошибка

    TypeError: Result of expression 'rand' [0] is not a function. во время выполнения действия 
    

    alt text

    Когда делаю так, ошибки нету

    var arr = ["Привет","Здравствуй"];
    [[LANGS]] = arr[rand(0,arr.length-1)]
    


  • @symposium
    попробуй вместо

    var rand = Math.floor(Math.random() * arr.length);
    

    написать:

    [[RAND]] = Math.floor(Math.random() * arr.length);
    


  • @symposium Потому что Ваша переменная объявлена локально для данного экшена выполнить код. Если хотите ее объявить глобально, то уберите var. Помимо этого (мне кажется что кстати Вам это уже писал), в БАС есть встроенный метод для создания целого случайного числа и называется он тоже rand синтаксис rand(a,b)



  • @senerg said in TypeError: Result of expression 'rand' [1] is not a function - Ошибка:

    @symposium
    попробуй вместо

    var rand = Math.floor(Math.random() * arr.length);
    

    написать:

    [[RAND]] = Math.floor(Math.random() * arr.length);
    

    Спасибо! Работает!



  • This post is deleted!

Log in to reply
 

  • 11
  • 16
  • 5
  • 4
  • 5
  • 2
  • 6
  • 2