Contoh:
let x = 99;
function foo(p = x + 1) {
console.log(p);
}
foo() // 100
x = 100;
foo() // 101
Namun, jika saya menukar sedikit parameter kepada:
let x = 99;
function foo(x = x + 1) {
console.log(x);
}
foo() // NaN
x = 100;
foo() // NaN
Mengapa ia dipaparkan sebagai NaN Apakah perubahan yang tidak kelihatan yang berlaku di bahagian tengah?
Kod berikut bersamaan dengan
Maksudnya, x dalam foo(x = x + 1) tiada kaitan dengan x di luar Ia ditakrifkan di dalam fungsi oleh anda.
/a/11...
Sudah tentu tidak, saya boleh melakukannya jika anda mahu