我已经创建了一个“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
我希望函数ADD的第一个参数是x,而不是“x”。这可能吗?
我希望我的学生以类似于自然语言的方式编写算法。
谢谢!
答案 0 :(得分:0)
您无法传递x
,就像它是一个引用一样,但是您可以构建一个功能引用(或镜头),尽管您仍然没有传递x
但是一个变量是一个参考x
。
var x = 5;
var xRef = {
get : function(){
return x;
},
set : function(val){
x = val;
}
}
function add(ref, n){
var oldVal = ref.get();
ref.set(oldVal+n);
}
add(xRef, 5);
console.log(x);

但它绝对不是很漂亮。