javascript - 参数中加 '+'的目的是什么?

标签 javascript concatenation

我有一个带有参数的函数:setTimeout("progressBar("+val+")",300);。为什么我必须在 val 旁边添加 +,使其变为 +val+

函数调用的上下文:

function progressBar(val){
    var pro_bar = document.getElementById("progress_bar");
    var stat = document.getElementById("status");
    stat.innerHTML = val + "%";
    pro_bar.value = val;
    val++;
    var load = setTimeout("progressBar("+val+")",300);
        if(val == 100){
            stat.innerHTML = "100%";
            pro_bar.value = 100;
            clearTimeout(load);
            document.getElementById("text").innerHTML = "Process Complete";
        }
    }       
    var initial_value = 0;
    progressBar(initial_value);

最佳答案

JavaScript 中的 + 可用于字符串连接。

例如

  • "This "+ "That" 结果:"This That"(两个字符串连接在一起)
  • "This "+ 1 结果:"This 1" (int 将转换为字符串并连接)
  • var varName = "一个值"; "This "+ varName 结果:"This A value" (变量的值将添加到字符串中)

在您发布的情况下,该字符串将导致 progressBar() 被调用,并传入名为 val 的变量。

关于javascript - 参数中加 '+'的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37481624/

相关文章:

javascript - 查找表中与特定数字最接近的数字

javascript - 如何将输入字段转换为选择选项?

javascript - 如何根据包含过去 12 个月的预定义数组将值映射到数组

excel - 用户定义的连接

c# - 如何安全地格式化 URL

javascript - 如何在 iPhone/iPad 上更改视口(viewport)?

javascript - 在 JavaScript 中将一个数组附加到另​​一个数组

java - 通过连接键和值将 JavaPairRdd 转换为 JavaRdd

python - 两个数据帧的按列串联

javascript - 如何将字符串转换为日期时间(格式为 D/MM/YYYY HH :MM:SS PM)