函数的Javascript +和字符串返回值?

时间:2010-12-04 11:24:44

标签: javascript string return-value concatenation

这是一个愚蠢的noob问题,让我很生气..抱歉。

  • 这有效:alert('hello');
  • 这有效:alert(getsomestring());
  • 这有效:alert('hello'+'goodbye')
  • 那么为什么这不起作用:alert('hello'+getsomestring());

我尝试了这些没有运气:

alert('hello'+getsomestring(););
alert('hello'+getsomestring().toString(););

感谢。

使用如下:

<script language="JavaScript">
function getQueryString() { 
    var assoc = new Array(); 
    var queryString = unescape(location.search.substring(1)); 
    var keyValues = queryString.split('&'); 
    for (var i in keyValues) { 
        var key = keyValues[i].split('='); 
        assoc[key[0]] = key[1]; 
    } 
    return assoc; 
} 



</script>

<script language="JavaScript">
alert('?h='+getQueryString()["search"];);
//localSearchHighlight('?h='+getQueryString()["search"]); 
);

</script>

3 个答案:

答案 0 :(得分:3)

您的代码在第二个<script>块中存在语法错误。它应该是:

alert('?h='+getQueryString()["search"]);
  • 内部有一个; 函数调用parens。
  • 在您发表评论后,您还有一行);

除此之外,它似乎也像你想要的那样工作。

答案 1 :(得分:0)

查看浏览器的错误控制台;由于分号,alert('hello'+getsomestring();)是语法错误。分号分隔行,不应出现在表达式中。删除它,表达式将起作用(因为您首先键入它:alert('hello'+getsomestring());)。

答案 2 :(得分:0)

JavaScript中有关联数组。只有objects映射键值。

var assoc = new Array();替换为var assoc = new Object();或简写为var assoc = {};,然后才有效。

警报中还有一个超级;

alert('?h='+getQueryString()["search"];);
                                      ^ --------- SyntaxError: Unexpected token ;