Javascript: вызов функции внутри другой функции не работает?

Поэтому внутри моих тегов

3 ответа

Проблема в том, что вы определяете функцию getRandom. Вы помещаете его в пространство имен jQuery.fn. Если вы упорядочиваете свой код следующим образом, он должен работать намного лучше.

var getRandom = function(min, max) {
 return min + Math.floor(Math.random() * (max - min + 1));
}

var placeRandom = function() {
 alert(getRandom(1,7));
}

$(document).ready(function() {
 placeRandom();
});

Дополнительная информация: jQuery.fn на самом деле прототип, но обычно называется пространством имен в этом конкретном контексте.


Вы привязываете getRandom к пространству имен jQuery, вы сможете получить доступ к нему только через экземпляр объекта jQuery или через $.fn.getRandom()

Поэтому, если вы не хотите называть его как $(selector).getRandom(), просто объявите его как стандартную функцию.


вы привязываете getRandom к пространству имен $ (jQuery). поэтому вы должны назвать его $.fn.getRandom(1,7) или определить функцию следующим образом:

function getRandom(min, max) {
 return min + Math.floor(Math.random() * (max - min + 1));
}

licensed under cc by-sa 3.0 with attribution.