Saya mahu menggunakan terus pembolehubah global sebagai parameter fungsi, dan kemudian memberikan nilai kepada parameter di dalam fungsi, dan bukannya memberikan nilai secara langsung kepada pembolehubah global di dalam fungsi, supaya ia tidak sukar- berkod, tetapi ujian tidak boleh memberikan nilai.
s = 1; a(s); function a(m){ e = m; b(e); function b(f){ f = 2; } } alert(s);
Hasilnya ialah s masih sama dengan 1. Saya tahu bahawa s boleh diberikan nilai secara langsung dalam fungsi, tetapi bukankah itu terlalu sukar untuk ditulis Bagaimana saya boleh menetapkan nilai 2 kepada s dengan cara ini? Adalah mudah untuk lulus pembolehubah global yang berbeza untuk digunakan kemudian.
Skop objek JS, lihat lebih dekat~
Anda tidak memahami konotasi lulus parameter fungsi: lulus nilai, yang bermaksud bahawa S hanya memberikan 1 kepada fungsi A dan tidak mengambil bahagian di dalamnya. Dalam istilah orang awam: Jika anda menyalin S ke fungsi, tidak kira bagaimana anda mengendalikannya, ia tidak akan menjejaskan S itu sendiri.