簡體   English   中英

如何在javascript中更改函數中變量的值?

[英]How to change the value of variable in a function in javascript?

var e = 15;

function change_value(e){

    e = 10;
}

change_value(e);

console.log(e);

e 的值仍然是 15。

e功能范圍內從不同e全局范圍內。

只需刪除函數參數:

var e = 15;

function change_value(){
    e = 10;
}

change_value();
console.log(e);

當函數中有參數時,傳遞的值會在函數范圍內復制,並在函數完成時銷毀。

Javascript 中的所有變量都是全局創建的,因此您可以直接使用和修改它而無需傳遞它:

var e = 15;

function change_value(){

    e = 10;
}

change_value();

console.log(e);

javascript 不使用簡單類型的引用。 它使用復制方法。 所以你不能這樣做。

您有 2 個解決方案。 這邊走 :

var e = 15;

function change_value(e) {
    return 10;
}

e = change_value(e);

或者這個:

var e = 15;

function change_value() {
    e = 10;
}

但請注意,這個解決方案並不是很干凈,它只適用於這個e變量。

如果要將傳遞的值分配給外部 e 變量,則可以執行類似操作。 這只是一個示例。 在塊中,您將來可能會有任何邏輯。

var e = 15;
function change_value(e){

    return e;
}

e = change_value(10);

console.log(e);

但是,如果您只想調用函數並更改 e 值,則從函數中刪除參數,因為它的作用域與外部作用域不同。

 var e = 15;
 function change_value(){

   e = 10;
}

change_value(10);

console.log(e);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM