分享一些JavaScript簡易小技巧

來源:互聯網
上載者:User

特性檢測而非瀏覽器檢測

因為某某特性某瀏覽器不支援,我們經常的做法是在代碼中直接先做瀏覽器判斷如:

if(Broswer.isFirfox){//do something}

其實這樣做是不科學的,因為很可以其它瀏覽器上可以支援你要用的特性,所以,比較好的做法為是直接做特性判斷。如:

if(window.localStorage){//使用本機存放區功能 }
使用方括弧來訪問屬性或方法

這一點到不是強制的,只不過如果使用方括弧來訪問可以享受一些動態特性帶來的好處,而且命名方面有少了許多限制。如:

for(var i=0;i<9;i++){    obj["method"+i]();}
表單的那些事

這裡主要提兩個很有用的屬性,可以讓你動作表單方便不少。

  1. form有一個elements屬性。作用呢就是可以得到一個表單下的所有表單元素,這樣在批量處理表單元素時就很有用,如:表單元素的序列化,或者驗證之類的很有協助。
  2. 對於第一個表單元素也有一個類似屬性為form.這樣可以很輕鬆得到一個表單元素屬於哪個表單。
a元素onclick的那些事
<a href="cool.html" onclick = "doSomething()">做點什麼吧</a>

點擊這樣一個連結時會有兩種情況發生,1、如果dosomthing返回true,那麼瀏覽器就會發生跳轉到cool.html,相返如果返回false的話,就會忽略href。因此借住這個特性,我們可以寫這樣的代碼。

function doSomething(){return confirm("您確認要離開嗎");}

有沒有發現比起下面這樣的代碼爽了很多。

function doSomething(){var ret = confirm("確認要離開嗎?");if(ret){window.loaction.href = "cool.html";}}
類型轉換時不一樣的做法

怎樣把字串轉換成數字呢?我知道parseInt("123",10),除此之外還有什麼好辦法沒,看下面的。

var num1 = "123";num1 = num1*1;var num2 = "123";num2 = +num2;

這兩種方法是不是很不錯。還是很簡潔吧。祝學習愉快!

var a = 1;a = !!a;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.