如果变量是函数参数,则使用函数填充字符串变量无效



此代码可以工作: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>`;       
}
}

最新更新