如何在JavaScript中以编程方式传递参数?

时间:2014-05-20 11:36:37

标签: javascript function parameters

这是我的代码,

var baseurl = "https://localhost:8888/files/";

var mydiv = document.getElementById("myDiv"); 
var aTag = document.createElement('a');
aTag.setAttribute('href',"#");
aTag.setAttribute('onclick',"getFolderList(" + baseurl + ")"); 
aTag.innerHTML = "Home /";
mydiv.appendChild(aTag);

这里,getFolderList是接受一个参数的JavaScript函数。我使用了上面的代码,但它没有调用该函数。如何将“baseurl”值传递给getFolderList函数?

1 个答案:

答案 0 :(得分:3)

您忘记包含引号:

aTag.setAttribute('onclick',"getFolderList('" + baseurl + "')");
                                           ^               ^

您编写它的方式,引擎会将https://localhost:8888/files/视为变量名称,这当然会导致语法错误。

最后,你应该避免在HTML属性中编写这样的代码 - 如果baseurl来自外部源,它可能导致脚本注入攻击。请改用事件侦听器语法:

aTag.addEventListener("click", function() {
    getFolderList(baseurl);
});