易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 地址栏写法


0. 前言
所谓IE地址栏表达式,就是在IE的地址栏中输入 javascript:<代码>,执行某些功能,来动态改变原有页面的参数以达到某些目的,例如开放被禁止的按钮、显示原本隐藏的图片等等。本文将就IE地址栏的使用方法做一个详细的说明。
1. 表达式的书写方法
在IE的地址栏中输入 javascript:<代码>,即可在当前页面上直接执行指定的代码并立即看到效果。而且,<代码>中可以包含多条语句,甚至可以包含 if/for 等流程控制语句。
代码一般有两种写法:
javascript:<表达式>
该写法将会执行表达式,并将表达式的结果在当前页面内显示。
javascript:<函数>
该表达式将会执行指定的函数,而当前页面的显示不会受到影响。
那么IE如何区分地址栏中输入的代码到底是函数还是表达式?其实很简单,代码的最后一条语句以参数列表 () 结束,则作为函数处理,不更新页面显示;代码的最后一条语句不以 () 结束,则作为表达式处理,在当前页面内显示表达式的计算结果。
例如,在IE的地址栏中输入:
javascript:1+2
该表达式的末尾并非参数列表,因此IE将1+2看作表达式,执行结果将显示在当前窗口内:
3
而下面这段代码:
javascript:alert("Hello, world!")
代码末尾为参数列表,因此IE将其看作函数,执行之后将出现弹出窗口,但是网页的内容不会有任何变化。再如,
javascript:alert
该代码执行后,当前窗口内显示:
[object]
这是因为代码末尾不是参数列表,因此IE将其作为表达式来处理。alert 为 window 对象的一个方法,也算作“[object]”,所以出现了上面的结果。
再看下面的例子:
javascript:a=1;b=2;c=3;alert(a+b*c)
虽然该段代码中包含了赋值表达式和alert()函数,但由于代码最末尾是参数列表,因此页面内容不会更新。
2. 将表达式转化为函数
通常我们希望使用 javascript:<函数> 这种格式,因为 javascript:<表达式> 会改变页面内容而使得修改失去意义。但有时我们不得不使用赋值表达式来达到目的,这就需要将表达式转换为函数来执行。这就需要利用一个特殊的函数:void()。该函数带有一个参数。
比较常用的转化方式有两种。一种是将表达式作为void()函数的参数,例如:
javascript:void(a=1)
执行之后页面内容没有任何变化,但是页面内名为a的变量已经赋值为1了。另一种方法是在整个代码的最后执行void()函数,例如:
javascript:a=1;void(0)
也可以达到同样的效果。


相关文档:

遍历JavaScript对象的所有属性


/*
* 用来遍历指定对象所有的属性名称和值
* obj 需要遍历的对象
* author: Jet Mah
* website: http://www.javatang.com/archives/2006/09/13/442864.html 
*/ 
function allPrpos(obj) { 
    // 用来保存所有的属性名称和值
    var props = "";
&nbs ......

引用 javascript定义对象写法(整理)

引用
Aaron 的 javascript定义对象写法(整理)
javascript定义对象的几种简单方法
1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义
优点:动态的传递参数
缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存
function User1(name, password) {
this.name = name;
this.password = pass ......

Javascript代码收藏大全


Javascript代码收藏大全
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="retu ......

JavaScript重定向

使用JavaScript可以将用户导向一个特定的地址,并且不同的方法会对浏览器的历史记录有不同的影响。
实例JavaScript代码
本例定义了两个JavaScript函数,功能都是重定向到首页,但是第一个函数采用的是直接给href赋值的方式,第二个使用的是replace方法。具体请看下面的代码:
<script type="text/javascript">
f ......

去除javascript数组中的相同元素

<script type="text/javascript">
function uniqueArr(arr)
{
    arr = arr || [];
    var a = {};
    for (var i=0; i<arr.length; i++)
    {
        var v = arr[i];
    &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号