for example:
var s = '3+3';
s.replace(/([\d.]+)([\+\-)([^,]*)/g,
function(all, n1, operator, n2) {
r = new Number(n1) ??? new Number(n2);
return r;
}
);
note: not using eval()
Are Variable Operators Possible?
Not possible out of the box, but he gives a nice implementation to do it, as follows. Code by delnan.
var operators = {
'+': function(a, b) { return a + b },
'<': function(a, b) { return a < b },
// ...
};
var op = '+';
alert(operators[op](10, 20));
So for your implementation
r = operators[operator](new Number(n1), new Number(n2));
eval()would be handy.new Function()off limits too?eval()out of curiosity?