全域變數作為參數在函數內部如何賦值?
按键盘手指磨破皮
按键盘手指磨破皮 2017-09-02 15:15:41
0
2
1995

想透過直接將一個全域變數當作函數的參數,然後在函數的內部給這個參數賦值,而不是直接在函數內部給全域變數賦值,這樣就不會寫死,但是測試無法賦值。

s = 1;
a(s);
function a(m){
    e = m;
    b(e);
    function b(f){
        f = 2;
    }
}
alert(s);

這樣的結果是s還是等於1。我知道直接在函數裡可以對s賦值,但是那樣不就寫死了嗎,這樣寫要怎麼才能給s賦值2呢?方便以後可以傳遞不同的全域變數來使用。

按键盘手指磨破皮
按键盘手指磨破皮

全部回覆(2)
Time丶Out

JS 物件作用域,好好看下~

phpcn_u2876

你沒明白函數參數傳遞的內涵:值傳遞,也就是說S只是把1給了函數A,本身並沒有參與進去。通俗點說:複製了一個S給函數,不管你怎麼操作,是不會影響S本身的。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板