想透過直接將一個(gè)全域變數(shù)當(dāng)作函數(shù)的參數(shù),然後在函數(shù)的內(nèi)部給這個(gè)參數(shù)賦值,而不是直接在函數(shù)內(nèi)部給全域變數(shù)賦值,這樣就不會(huì)寫死,但是測(cè)試無(wú)法賦值。
s = 1; a(s); function a(m){ e = m; b(e); function b(f){ f = 2; } } alert(s);
這樣的結(jié)果是s還是等於1。我知道直接在函數(shù)裡可以對(duì)s賦值,但是那樣不就寫死了嗎,這樣寫要怎麼才能給s賦值2呢?方便以後可以傳遞不同的全域變數(shù)來使用。
你沒明白函數(shù)參數(shù)傳遞的內(nèi)涵:值傳遞,也就是說S只是把1給了函數(shù)A,本身並沒有參與進(jìn)去。通俗點(diǎn)說:複製了一個(gè)S給函數(shù),不管你怎麼操作,是不會(huì)影響S本身的。