javascript下with 的簡化代碼寫法

來源:互聯網
上載者:User

with (object)
statements
參數
object
新的預設對象。
statements
一個或多個語句,object 是該語句的預設對象。
說明
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)
}

with(),,,;
with(document)write(fileSize),write('<br>'+lastModified)
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

避免使用JavaScript的With
JavaScript允許使用with關鍵字來指定某個對象的一系列屬性或者方法。比如有這樣一段代碼: 複製代碼 代碼如下:var x = document.body.scrollLeft;
document.write('text1');
document.write('text2');
document.write('text3');

如果用with的話,可以這樣寫: 複製代碼 代碼如下:with document {
var x = body.scrollLeft;
write('text1');
write('text2');
write('text3');
}

但是,這樣看似精簡代碼的方法卻會使JavaScript的執行時間增加許多。因為它會去檢查大括弧內的每個變數是否是這個對象的屬性或者方法。
所以,如果要精簡代碼的話,可以這樣寫,從而避免使用with。 複製代碼 代碼如下:var d = document;
var x = d.body.scrollLeft;
d.write('text1');
d.write('text2');
d.write('text3');

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.