Ich möchte eine globale Variable direkt als Parameter einer Funktion verwenden und dann dem Parameter innerhalb der Funktion einen Wert zuweisen, anstatt der globalen Variablen innerhalb der Funktion direkt einen Wert zuzuweisen, damit es nicht schwierig wird. codiert, aber der Test kann keinen Wert zuweisen.
s = 1; a(s); function a(m){ e = m; b(e); function b(f){ f = 2; } } alert(s);
Das Ergebnis ist, dass s immer noch gleich 1 ist. Ich weiß, dass s direkt in einer Funktion ein Wert zugewiesen werden kann, aber wäre das nicht zu schwierig zu schreiben? Wie kann ich s auf diese Weise einen Wert von 2 zuweisen? Es ist praktisch, verschiedene globale Variablen zur späteren Verwendung zu übergeben.
JS 对象作用域,好好看下~
你没明白函数参数传递的内涵:值传递,也就是说S只是把1给了函数A,本身并没有参与进去。通俗点说:复制了一个S给函数,不管你怎么操作,是不会影响到S本身的。