Javascript中的this、with關鍵字

 最近在學習編寫js代碼的時候遇到了this和with關鍵字,經過查找資料,現總結如下:

一、This

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 (<對象>) <語句>;

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);
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章