開發用到的js封裝方法(20種)

2021-10-21 08:48:21 字數 3144 閱讀 1803

1、判斷是否是乙個陣列

function isarray(arr)

isarray([1,2,3]) //true

2、判斷是否是乙個函式(三種)

function isfunction(fn)
3、陣列去重,只考慮陣列中元素為數字或者字串

function newarr(arr));}}

console.log(arr)//[1,2,3,4,5,6,7,8,9]})}

add()

5、去除字串空格(包含三種情況)

function trim(str)
6、判斷是否為郵箱位址

function isemail(emailstr) $]/;

var result = reg.test(emailstr);

if (result) else

}

7、判斷是否是手機號

function ismobilephone(phone) $/;

if (reg.test(phone)) else

}

8、獲取乙個物件裡面第一次元素的數量

function getobjectlength(obj)

}console.log(i);

}var obj = ;

getobjectlength(obj) //2

9、獲取元素相對於瀏覽器視窗的位置,返回乙個物件

function getposition(element) 

return ;

}

10、判斷某個字母在字串**現的次數

var str = 'to be, or not to be, that is the question.';

var count = 0;

var pos = str.indexof('e');

while (pos !== -1)

console.log(count) //4

11、計算出陣列**現次數最多的元素

var arrayobj = [1,1, 2, 3, 3, 3,4, 5, 5];

var tepm = '',count =0;

var newarr = new array();

for(var i=0;i12、陣列filter(搜尋功能)

function filteritems(query) )}

13、copy 物件(第一種)

//第一種

var cloneobj =function(obj) ;

if (obj instanceof array)

for (var keyin obj)

return newobj;

};//第二種

function clone(origin , target);

for(var propin origin)

return target;

}

14、深度轉殖

var newobj ={};

function deepclone(origin,target),

tostr = object.prototype.tostring,

arrstr = "[object array]";

for(var propin origin)//判斷obj的key是否是陣列

deepclone(origin[prop],target[prop]);//遞迴的方式

}else}}

return target }

deepclone(obj,newobj);

console.log(newobj)

15、求陣列最大值和最小值

array.prototype.max = function()

array.prototype.min = function()

console.log([1,5,2].max())

16、json陣列去重

function uniquepay(paylist)

}if (!repeat)

}return payarr;

}

17、對比兩個陣列,取出交集

array.intersect = function () ;

for (var i =0; i < arguments.length; i++)

else

}//end else

}//end for j

}//end for i

return result;

}console.log(array.intersect(["1","2", "3"], ["2","3", "4", "5", "6"]))

18、陣列和物件比較。取出物件的key和陣列元素相同的

var arr = ['f00006','f00007','f00008'];

var obj = ],'f00007':}

var newobj = {};

for(var itemin obj)

}console.log(newobj)

19、刪除陣列中某個元素

//第一種

array.prototype.remove = function(val)

}[1,3,4].remove(3)

//第二種

function remove(arr, indx)

}return arr

}

20、判斷陣列是否包含某個元素

array.prototype.contains = function (val) 

}return false;

};

[1, 2,3, 4].contains(2)//true

js方法的封裝

為什麼要進行方法的封裝?在平時的生產環境中,我們經常寫出這樣的 function fadd ia,ib function fmul ia,ib 其本質上是這樣的 var fadd function ia,ib var fmul function ia,ib 這樣的話,我們就建立了兩個全域性變數,ia...

JS的幾種封裝方法

1 物件原型封裝 基本思想是在原函式中建立getter和setter方法,之後在原函式的原型進行其他操作。好處 只能通過get和set訪問函式中的資料,實現額真正的封裝,實現了屬性的私有化 劣處 這樣做所有的方法都在物件中,會增加記憶體的開銷 測試demo 1 這種封裝個方法getter和sette...

JS封裝的常用方法

export function getbrowser export function geturlkey name 1 寫入帶有自定義有效期的cookie 使用方式 這是有設定過期時間的使用示例 s20是代表20秒 h是指小時,如12小時則是 h12 d是天數,30天則 d30 用法示例 setco...