我正在尝试将数据传递到我的函数中,如果没有数据传递,它将只使用默认值。
<a id="process" onclick='process(,"testing","test value")' href="#">Process</a>
function process(passvar1,passvar2,passvar3) {
var defvar1 = 'default value 1',
defvar2 = 'default value 2',
defvar3 = 'default value 3';
if (typeof(passvar1)=="undefined") {
passvar1 = defvar1;
return passvar1;
}
if (typeof(passvar2)=="undefined") {
passvar2 = defvar2;
return passvar2;
}
if (typeof(passvar1)=="undefined") {
passvar1 = defvar1;
return passvar3;
}
alert ('retuern values here ' + passvar1 + ' ' + passvar2 + ' ' + passvar3);
答案 0 :(得分:2)
onclick='process(,"testing","test value")'
这是一个语法错误。做到这一点
onclick='process(undefined,"testing","test value")'
答案 1 :(得分:2)
查看您的评论,您可以简单地执行以下功能:
function process(passvar1, passvar2, passvar3) {
passvar1 = passvar1 || 'default value 1';
passvar2 = passvar2 || 'default value 2';
passvar3 = passvar3 || 'default value 3';
return 'retuern values here ' + passvar1 + ' ' + passvar2 + ' ' + passvar3;
}
alert(process("testing","test value", "third value"));
// retuern values here testing test value third value
在你的函数中,由于每个if条件中都有return
,所以只执行第一个条件,只返回一个变量返回函数。
答案 2 :(得分:1)
您的onclick
属性中的语法错误除外,您在每个return
语句中调用if
- 如果其中任何一个评估为true,您将过早返回从函数中,永远不会到达alert
语句。只需删除这些行,因为它们没有做任何有益的事情。
答案 3 :(得分:0)
看看
在process(,var,var)
这是你想要的吗?