想通過直接將一個全局變量作為一個函數(shù)的參數(shù),然后在函數(shù)的內(nèi)部給這個參數(shù)賦值,而不是直接在函數(shù)內(nèi)部給全局變量賦值,這樣就不會寫死,但是測試無法賦值。
s = 1; a(s); function a(m){ e = m; b(e); function b(f){ f = 2; } } alert(s);
這樣的結(jié)果是s還是等于1。 我知道直接在函數(shù)里可以對s賦值,但是那樣不就寫死了嗎,這樣寫要怎么才能給s賦值成2呢?方便以后可以傳遞不同的全局變量來使用。
你沒明白函數(shù)參數(shù)傳遞的內(nèi)涵:值傳遞,也就是說S只是把1給了函數(shù)A,本身并沒有參與進(jìn)去。通俗點(diǎn)說:復(fù)制了一個S給函數(shù),不管你怎么操作,是不會影響到S本身的。