为什么href =“javascript:window.location.href ='#xxx';”不行吗?

时间:2015-10-30 03:12:10

标签: javascript html

href="#xxx" and href="javascript:jumpTo('xxx');"可以工作,方法jumpTo是这样的:

function jumpTo(anchor) {
    window.location.href= '#' + anchor;
}

然而,href="javascript:window.location.href='#xxx';"不起作用,我想知道为什么?

1 个答案:

答案 0 :(得分:0)

使用<a href="javascript:'#xxx'">Test</a> URI时,如果表达式产生 truthy 值,that value is written out as the sole content of the page

由于赋值运算符返回指定的值,因此其行为类似于:

undefined

阻止输出值的一个选项是在表达式的开头添加void operator,它返回<a href="javascript:void window.location.hash='#xxx';">Test</a> falsy 值):< / p>

jumpTo()

此外,使用void时,结果与使用return相同。由于该函数没有明确undefined一个值,因此默认情况下会产生IN.API.Raw("/people/~:(id,first-name,last-name,location,positions)?format=json").result(onSuccess).error(onError); 值。