1
我做了一個函數「ADD」這改變一個變量的值:功能的「自然語言」
function ADD(xs, n)
{
var nom_variable = xs;
var XS = eval(xs);
nouvelle_valeur = eval(nom_variable + "=XS+n");
}
var x = 5 ;
ADD("x",5); // now x = 10
我想該函數添加的第一個參數是X,而不是「× 」。這可能嗎 ?
我希望我的學生以類似於自然語言的方式編寫算法。
謝謝!
不,你所問的是不可能的。如果一個值應該是一個字符串,它必須被引用爲一個字符串。 – Pointy
@Pointy:沒有什麼可以用Reflection完成的嗎? – usr2564301
JavaScript是按值傳遞的,而不是通過引用傳遞的,所以這是不可能的。換句話說,'foo(x)'傳遞變量'x'的值,而不是變量'x'的引用。如果'x'的值是'42',那麼函數內部不能區分'foo(x)'和'foo(42)'。就我個人而言,我會完全不同的結構功能。我會讓它接受所有的值作爲輸入並返回值。 –