javascript中打开客户端,关于void的一个疑问

void舍弃去运算数的值,返回undefined。常用于在客户端的javascript:url中。

另一个常用用途是,生成undefined值。ECMAscript v1就已经定义了void的运算符,并且在javascirpt1.1就实现了它。而全局的undefined属性则是在ECMAscript v3才定义,并且javascript1.5才实现了它。所以,考虑兼容性问题,当要返回一个undefined值时,用void 0会比用undefined属性更有用。

   
   
   
   
< html >
< head >
< title >< / title>
< script >< / script>
< / head>
< body > < a href = " javascript:window.open(); " > open new window < / a>
< form >< / form>
< / body>
< / html>

运行结果是页面出现一个open new window链接。点击链接,弹出一个新的窗口,原来的链接变成了“【object】”文本,链接不复出现。

但如果把<a href="javascript:window.open();">改为<a href="javascript:void window.open();"> 点击链接后,依然弹出新的窗口,而且原来的链接不变,继续点击能继续有新的窗口弹出。

这是为什么?

入园有一段时间了,最近正式进军js,请各位前辈多多指教。

你可能感兴趣的:(javascript中打开客户端,关于void的一个疑问)