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