神奇的"javascript:"

上周,从 GuoXing同学 http://weibo.com/runflash 那里学习的一个知识点,没等到他的博客,我就抢先记录一下。(捋须笑过

问题:以下代码里的“javascript:”是起什么作用?

<input type=button value=test onclick="javascript:alert(1)"/> 

在href里写“javascript:alert(1)”,这里是作伪协议,不过在onclick里写,是有什么用呢?
难道是指定语言类型? ok,再我们改下试下:

<input type=button value=test onclick="hello:alert(1)"/> 

发现代码还是可以正常执行的。这么说来应该不是script语言类型。
那是什么呢?如果语法合理的话,那看来只能是label了。写个代码来验证下是不是label:

<input type=button value=test onclick="{javascript: while(confirm('once more?')){continue javascript;}} "/>

经验证,确定为label。

 

这个label显然是多余的。
结论就是:以下写法里的"javascript:"完全是不恰当的多余。----可能是以讹传讹、胡乱Copy的产物。

<input type=button value=test onclick="javascript:alert(1)"/> 

 

posted on 2012-10-24 16:41  JKisJK  阅读(1445)  评论(3编辑  收藏  举报

导航