I am houbiao beta 0.1

javascript学习笔记之javascript伪协议

分类:Self

javascript伪协议:不是所有的浏览器都支持javascript伪协议,你可以在浏览器的地址栏里通过“javascript:”的形式来执行javascript代码。这其实也算是给早期的测试工作带来了一个便利,就是可以以命令行的形式来简易的测试自己的javascript代码,而不用单独的再写一个HTML文档。如下代码javascript:document.body.style.backgroundColor="#ff0";void(0);随便打开一个网页,将代码复制到浏览器的地址栏(复制到地址栏的时候请确认前边带有javascript:,个别浏览器会自动忽略掉冒号前的内容),回车,你会发现网页的背景色变成黄色的了,这便是javascript伪协议。

接上顺便说一句void(0);,这个小东西很关键,你可以试试以上代码如果去掉最后的void(0);会产生怎样的结果,没错,不但没执行还将你带到了一个新的窗口,这是因为javascript伪协议默认是将页面带到一个新的document中并显示程序返回结果,所以正常情况下运算的结果会在一个空文档对象内显示,而void(0);则可以阻止这个跳转,就好比我们给A标签添加的return false;一样。

void是javascript一个特殊的运算符,它的作用是舍弃任何参数表达式的值,这意味着要求解析器检验并计算参数表达式的内容,但是却忽略其结果。如果你刻意去检查void运算的返回值,会发现它返回一个undefined标记(事实上任何一个不带return指令的函数运算的默认返回值都是undefined)。在浏览器的缺省行为中,undefined阻止了页面的跳转。

3357 reads 0 comment

上一篇:javascript学习笔记之生命周期 已经是最后一篇

暂时还没有回复信息

Leave a comment

*