var n = 1; var m = n;
function add_to_total(total, x) { total = total + x;
} add_to_total(n, m); document.write(n+" </br>");//输出 1
document.write(m+" </br>");//输出 1
if(m=2)alert(88)
m 值到底是 1 还是 2 ?
function add_to_total(total, x) { total = total + x;
} add_to_total(n, m); document.write(n+" </br>");//输出 1
document.write(m+" </br>");//输出 1
if(m=2)alert(88)
m 值到底是 1 还是 2 ?
m的值为2,你的if中,不是在判断m是否为2,而是在给m赋值,这个m=2赋值语句永远成立,所以,永远会弹出88.并且,m的值在这个if中也做了改变,变成了2!你如果想做判断,就用m==2
//n 值确实 为 1 ,给 m 重新赋值 2,m is now 2 。原来 m 值 为 1 。
//原来是这样理解的,以为 m 的值为 2 ,是函数执行后的结果。这样的理解是错误的。