Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Арифметические действия над строкой (https://javascript.ru/forum/misc/63517-arifmeticheskie-dejjstviya-nad-strokojj.html)

Яростный Меч 12.06.2016 21:26

во, через функцию, с проверкой на синтаксис )

function createSolver(vars, expr) {
  try {
	var func = new Function('pow,sin,cos,PI' + (vars ? ',' + vars : ''), 'return (' + expr + ')');
 } catch(exc) {
   return null;
}

  return function() {
  	var args = [Math.pow, Math.sin, Math.cos, Math.PI];
    args.push.apply(args, arguments);
    return func.apply(null, args);
  };
}

var solver = createSolver('x,y', 'pow(x, y) + sin(PI/2)');
var badsolver = createSolver('x,y', '((((((');

alert(solver(2, 3));
alert(badsolver);

antonizbraniy 12.06.2016 22:20

Большое спасибо за ответы, такие быстрые и разъясненные. Буду разбираться.


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