我需要转换"100% - 1"
到300 - 1
哪里 300 - 画布宽度?如何评估(批处理)此操作?
//for example:
var value = batch("100% - 1", canvas.width); //Must 299, because canvas.width is 300
var secondary = batch("50% + 10", canvas.width); //Must 160
//where first argument - arithmetic operation, second - relativity value.
这个问题不属于科幻小说的范畴,而是一个非常严肃和现实的问题。
更新!但如果只需要转换百分比?
var value = hack("75%", 300); //Must 255
var operation = hack("30%", 100) + 10; //Must 40
var end = hack("1em", somearg); //EM?
更新2!什么意志,如果我使用new Function("a", "b", "return (%%Expression%%)")
而不是eval
?
例如:
var operation = "90% - 10";
至:
new Function("a", "return ((a * 90 / 100) - 10)");
怎么做到的?