2012-09-13 61 views
1

可能重复:
what is the point of void in javascript
What does “javascript:void(0)” mean?什么是无效的Javascript

我到处都看到这个javascript:void(0);什么也不做,我想。 (而不是这javascript:;可以用我认为)

而那一天我看到javascript:void(x=document.getElementById('mytext').value);void(document.getElementById('mylabel').innerHTML=x);代码在页面中。

我的问题很简单,为什么无效?什么是无效的?

+1

请不要删除自动添加的文本。系统根据用户提供的链接添加它。这两个链接都包含可以在这里一起回答你的问题的答案。 – Lix

+1

关于重复问题的更少 - 更多关于现有答案也可以在这里回答您的问题的事实。 – Lix

回答

3

MDN documentation page

此操作符允许插入产生副作用 到的地方,其值是未定义的表达是 期望表达式。

void操作符通常仅用于获取未定义的原始值,通常使用“void(0)”(相当于“void 0”)。在这些情况下,可以使用全局变量undefined (假定它尚未分配给非默认值)。

2

void是返回undefined操作者,虽然评价以下表达式。括号是不需要的。

javascript: -urls它被使用,因为任何返回值将覆盖当前文件(如document.write())。

1

我相信这是一种替代方法,即使在jQuery中也可以简单地终止点击。如果您将单击处理到锚标记,你应该总是在处理程序结束返回false -

$("#btn").on('click',function(){ 
    // make toast 
    return false; 
}); 

返回false取消,将已被执行的情况下任何其他操作。

当您将javasctipt:void(0)附加到元素的onclick时,您将阻止该事件执行任何操作并将所有工作都留在JavaScript中。

+2

'javascript:' - 网址被分配给'href'属性。 'void 0'就像将默认动作设置为“无”。 – Bergi