如果变量是函数参数,则使用函数填充字符串变量不起作用

Filling of the string variable using the function not works, if the variable is function argument

此代码有效:https://jsfiddle.net/Nata_Hamster/b48w3ktx/

let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';                    
full_anim(animal);
$('.wrap').html(dataAnim);

function full_anim(arr) {
  for (let i in arr) {
        dataAnim += `<div class="animal">${arr[i]}</div><br>`;        
    }
}

但是我需要将 dataAnim 作为函数参数。以下代码不起作用:https://jsfiddle.net/Nata_Hamster/fxhpoes8/

let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';                    
full_anim(animal, dataAnim);
$('.wrap').html(dataAnim);

function full_anim(arr, content) {
  for (let i in arr) {
        content += `<div class="animal">${arr[i]}</div><br>`;         
    }
}

试试这个:

let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';                    
dataAnim = full_anim(animal, dataAnim);
$('.wrap').html(dataAnim);

function full_anim(arr, content) {
  for (let i in arr) {
        content += `<div class="animal">${arr[i]}</div><br>`;         
    }
  return content;
}

或者您可以这样做:

let animal = ['cat', 'dog', 'hamster',]
let data = { anim: '' };                      
full_anim(animal, data);
$('.wrap').html(data.anim);

function full_anim(arr, data) {
  for (let i in arr) {
        data.anim += `<div class="animal">${arr[i]}</div><br>`;       
    }
}