萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 21個值得收藏的Javascript技巧

21個值得收藏的Javascript技巧

 1  Javascript數組轉換為CSV格式

  首先考慮如下的應用場景,有一個Javscript的字符型(或者數值型)數組,現在需要轉換為以逗號分割的CSV格式文件。則我們可以使用如下的小技巧,代碼如下:

1 2 var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var str = fruits.valueOf();

  輸出:apple,peaches,oranges,mangoes

  其中,valueOf()方法會將Javascript數組轉變為逗號隔開的字符串。要注意的是,如果想不使用逗號分割,比如用|號分割,則請使用join方法,如下:

1 2 var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var str = fruits.join("|");

  輸出: apple|peaches|oranges|mangoes

  2 將CSV格式重新轉換回Javscript數組

  那麼如何將一個CSV格式的字符串轉變回Javascript數組呢?可以使用split()方法,就可以使用任何指定的字符去分隔,代碼如下:

1 2 var str = "apple, peaches, oranges, mangoes"; var fruitsArray = str.split(",");

  輸出 fruitsArray[0]: apple

  3 根據索引移除數組中的某個元素

  假如需要從Javascript數組中移除某個元素,可以使用splice方法,該方法將根據傳入參數n,移除數組中移除第n個元素(Javascript數組中從第0位開始計算)。

1 2 3 4 5 6 7 8 9 10 11 function removeByIndex(arr, index) {     arr.splice(index, 1); } test = new Array(); test[0] = 'Apple'; test[1] = 'Ball'; test[2] = 'Cat'; test[3] = 'Dog'; alert("Array before removing elements: "+test); removeByIndex(test, 2); alert("Array after removing elements: "+test);

  則最後輸出的為Apple,Ball,Dog

  4 根據元素的值移除數組元素中的值

  下面這個技巧是很實用的,是根據給定的值去刪除數組中的元素,代碼如下:

1 2 3 4 5 6 7 8 9 10 11 function removeByValue(arr, val) {     for(var i=0; i<arr.length; i++) {         if(arr[i] == val) {             arr.splice(i, 1);             break;         }     } } var somearray = ["mon", "tue", "wed", "thur"] removeByValue(somearray, "tue"); //somearray 將會有的元素是 "mon", "wed", "thur"

  當然,更好的方式是使用prototype的方法去實現,如下代碼:

1 2 3 4 5 6 7 8 9 10 11 Array.prototype.removeByValue = function(val) {     for(var i=0; i<this.length; i++) {         if(this[i] == val) {             this.splice(i, 1);             break;         }     } } //.. var somearray = ["mon", "tue", "wed", "thur"] somearray.removeByValue("tue");

  5 通過字符串指定的方式動態調用某個方法

  有的時候,需要在運行時,動態調用某個已經存在的方法,並為其傳入參數。這個如何實現呢?下面的代碼可以:

1 2 3 4 5 6 var strFun = "someFunction"; //someFunction 為已經定義的方法名 var strParam = "this is the parameter"; //要傳入方法的參數 var fn = window[strFun];   //調用方法傳入參數 fn(strParam);

  6 產生1到N的隨機數

1 2 3 4 5 6 7 var random = Math.floor(Math.random() * N + 1);   //產生1到10之間的隨機數 var random = Math.floor(Math.random() * 10 + 1);   //產生1到100之間的隨機數 var random = Math.floor(Math.random() * 100 + 1);

  7 捕捉浏覽器關閉的事件

  我們經常希望在用戶關閉浏覽器的時候,提示用戶要保存尚未保存的東西,則下面的這個Javascript技巧是十分有用的,代碼如下:

1 2 3 4 5 6 7 8 9 <script language="javascript"> function fnUnloadHandler() {          alert("Unload event.. Do something to invalidate users session.."); } </script> <body onbeforeunload="fnUnloadHandler()"> ……… </body>

  就是編寫onbeforeunload()事件的代碼即可

  8  檢查是否按了回退鍵

  同樣,可以檢查用戶是否按了回退鍵,代碼如下:

1 2 3 window.onbeforeunload = function() {     return "You work will be lost."; };

  9  檢查表單數據是否改變

  有的時候,需要檢查用戶是否修改了一個表單中的內容,則可以使用下面的技巧,其中如果修改了表單的內容則返回true,沒修改表單的內容則返回false。代碼如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
copyright © 萬盛學電腦網 all rights reserved