特性檢測而非瀏覽器檢測
因為某某特性某瀏覽器不支援,我們經常的做法是在代碼中直接先做瀏覽器判斷如:
if(Broswer.isFirfox){//do something}
其實這樣做是不科學的,因為很可以其它瀏覽器上可以支援你要用的特性,所以,比較好的做法為是直接做特性判斷。如:
if(window.localStorage){//使用本機存放區功能 } 使用方括弧來訪問屬性或方法
這一點到不是強制的,只不過如果使用方括弧來訪問可以享受一些動態特性帶來的好處,而且命名方面有少了許多限制。如:
for(var i=0;i<9;i++){ obj["method"+i]();} 表單的那些事
這裡主要提兩個很有用的屬性,可以讓你動作表單方便不少。
- form有一個elements屬性。作用呢就是可以得到一個表單下的所有表單元素,這樣在批量處理表單元素時就很有用,如:表單元素的序列化,或者驗證之類的很有協助。
- 對於第一個表單元素也有一個類似屬性為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;