они в любом случае будут выполняться последовательно (даже если их именовать по разному). но можно чуть упростить и вообще сделать их безымянными
oninput = function() {
(function() {
var a = Number(document.getElementById("itemPrice").value);
var b = Number(document.getElementById("EMC").value);
var c = Number(document.getElementById("amount").value);
var d = Number(document.getElementById("koef").value);
var v = (c * a + b) * 0.1 + c * a + b;
var f = v * d
var x = (f * 0.02 + f) + ((f * 0.02 + f) * 0.22)
if (x >= 0 && v <= 10000) {
document.getElementById("result").innerHTML = x.toFixed(2);
}
}()),
(function() {
var W = Number(document.getElementById("itemweight").value);
var Wresult = W * 14;
if (Wresult >= 0 && Wresult <= 10000) {
document.getElementById("resultWeight").innerHTML = Wresult.toFixed(2);
}
}())
}
это конструкция "мгновенно исполняемой функции", когда пишешь типа (function(){}()), из последних скобок аргументы прилетают в функцию, обозначеную перед ними и функция выполняется. пустые скобки - ну значит аргументов нет, просто берем и выполняем. в этом случае нам даже имя давать не надо (лямбда-функция), они просто по порядку выполнятся с пустыми аргументами.
и раз попёрла такая мазута - можно даже запятую между этими выражениями поставить чтобы логически было "сначала 1, потом 2". она ни на что не влияет, просто для красоты