我有三個變量我該如何製作這個簡單的javascript函數?
var r1 = 12;
var r2 = '';
var r3;
我需要做一個函數convert()
有三個參數,所以:
function convert(arg1, arg2, arg3) {
// function body here
}
使得在運行此代碼
convert(r1, r2, r3)
console.log(r1, r2, r3)
我應該得到輸出:
r2, "empty string", "undefined value"
即它應該將r1,r2和r3的值更改爲上述值。
代碼我想:
function convert(arg1, arg2, arg3) {
if (arg2 === '') {
arg2 = "empty string";
}
if (arg3 === undefined) {
arg3 = "undefined value";
}
}
,然後調用convert(r1, r2, r3)
失敗,因爲參數是以值傳遞(顯然!)。但我需要知道是否有任何方法可以使此功能?另外,我看過this question,所以我知道他們是如何通過的,但是,仍然有什麼辦法可以使這項工作?
我認爲這個問題很清楚:由於參數傳遞的語義,它不是po ssible。你可以傳入一個對象,在這種情況下,在函數返回後,對其屬性的更改將可見,但這就是它。 – Jon
[JavaScript是傳遞引用還是傳值語言?]的可能的重複(http://stackoverflow.com/questions/518000/is-javascript-a-pass-by-reference-or-pass按值語言) – Jon
@Jon:不,它不是重複的。 – Razort4x