Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как передать функцию с параметрами в качестве аргумента другой функции (https://javascript.ru/forum/misc/34507-kak-peredat-funkciyu-s-parametrami-v-kachestve-argumenta-drugojj-funkcii.html)

DragorWW 08.01.2013 16:30

Всем спасибо остановился на изначальном варианте
random = function (max) {
var min = 1;
return Math.floor(Math.random() * (max - min) + min)
}
someFunction = function (num) {
    var someString = 'numbers: '
    for (var a=0;a<=10;a++) {
        someString = someString + num()
    }
    console.log(someString)
}
someFunction(function() {return random(6)})

так как плодить объекты не охота, eval тоже, и кучу проверок делать в пустую, пусть уж лучше так будет, а менять логику random() невыгодно, много где вывозы есть

Deff 08.01.2013 16:59

DragorWW,
:) Имхо от devote, пост #9 - ничего так, не меняет и строковое представление.
random = function (max) {
var min = 1;
return Math.floor(Math.random() * (max - min) + min)
}
someFunction = function (num) {
    var someString = 'numbers: '
    for (var a=0;a<=10;a++) {
        someString = someString + (new Function('x', 'try{return ' + num + '}catch(_e_){return x}'))(num);
    } 
    alert(someString)
}
var X;
X = random(6);
someFunction(X);

X = 'random(6)';
someFunction(X);

X = 6;
someFunction(X);
 
X = 'Z';
someFunction(X);


Часовой пояс GMT +3, время: 06:38.