JavaScript中的this、with的用法

来源:互联网 发布:js生成8位随机数 编辑:程序博客网 时间:2024/04/29 07:20

转贴至: 初夏的小草 http://blog.csai.cn/user1/14586/archives/2007/15413.html

 

this 对象返回“当前”对象。在不同的地方,this 代表不同的对象。如果在 JavaScript 的“主程序”中(不在任何 function中,不在任何事件处理程序中)使用 this,它就代表 window 对象;如果在 with 语句块中使用 this,它就代表 with所指定的对象;如果在事件处理程序中使用 this,它就代表发生事件的对象。例如:
这个用法常用于立刻检测表单输入的有效性。
    <script>
    ...
    function check(formObj) {
      ...
    }
    ...
    </script>

    <body ...>
    ...
    <form ...>
    ...
    <input type="text" ... onchange="check(this.form)">
    ...
    </form>
    ...
    </body>

with 语句 为一个或一组语句指定默认对象。

用法:with (<对象>) <语句>;

with 语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:

    x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10);
    y = Math.tan(14 * Math.E);

当使用 with 语句时,代码变得更短且更易读:

    with (Math) {
      x = cos(3 * PI) + sin(LN10);
      y = tan(14 * E);
    }

原创粉丝点击