前端開發常用的函式

2022-09-18 14:15:12 字數 2051 閱讀 3804

在專案例項中,難免要做一些容錯處理或者是對例項的型別判斷,那麼就可以把這部分的判斷整理成公共的js檔案,供全域性使用。

利用object.prototype.tostring.call可以判斷物件的型別

變數的兩種型別值:

1、基本型別:string,number,boolean,undefined,null,按值訪問

2、引用型別:object,array, 物件儲存在記憶體中

可以作為專案的工具類,比如命名為tool.js

export default isnumber(value) 

export default isstring(value)

export default isarray(value)

export default isboolean(value)

export default isundefined(value)

export default isnull(value)

export default issymbol(value)

export default isobject(value)

//是否是乙個空物件

export function isemptyobject(obj)

if(var key in obj)

return true

}//是否是乙個空陣列

export function isemptyarray(array)

return array.length > 0 ? false : true

}export function isfunction(value)

object.assign方法實行的是淺拷貝,而不是深拷貝。也就是說,如果拷貝後的結果是兩個物件指向同一引用位址,修改其中乙個物件的屬性,則另乙個物件的屬性也會改變

所以改變引用型別值時會影響到拷貝的值

var obj1 = };  

var obj2 = object.assign({}, obj1);

obj1.a.b = 2;

obj2.a.b // 2

下面extend函式就是解決上面的問題

/*

深度合併內容

引用型別轉殖合併

arguments[0] = target

arguments type is object or array

多內容合併覆蓋優先順序: arguments[0]此時引用型別轉殖出來的物件就是完全獨立的物件了,源物件修改屬性不會影響到轉殖的物件

var obj1 = };

var obj2 = extend({}, obj1)

obj1.a.b = 2;

obj2.a.b // 1

可以合併 物件與物件,陣列與陣列,物件與陣列等

時間戳是一樣的,有時需要根據需求輸出不一樣格式的時間形式

/*@param date 時間戳*/

/*@param format 時間格式*/

function dateformat(date,format)

date = date instanceof date? date : (typeof date === 'number'|| typeof date === 'string')? new date(date): new date();

//解析

var formatreg =

for(var reg in formatreg)

}return format;

}

這樣,把你想要的時間的格式和時間戳傳入即可。

dateformat(new date().gettime(),'yyyy-mm-dd hh:mm:ss') 

dateformat(new date().gettime(),'mm-dd-yy hh:mm:ss')

...

前端開發常用方法

淺拷貝和深拷貝 let arr arr 淺拷貝 object.assign arr 淺拷貝 clonedeep arr 深拷貝 json parse json stringify arr 深拷貝 不能拷貝 constructor 方法 陣列去重 uniquekey arr,key let resul...

前端開發 遞迴函式

什麼是遞迴函式 閉包和遞迴,很多前端望而生畏,其實沒那麼難,今天我們來簡單的談一下遞迴函式,所謂的遞迴函式就是在函式體內呼叫本函式。說白了,就是自己調自己,使用遞迴函式一定要注意,處理不當就會進入死迴圈。遞迴函式的應用 遞迴函式只有在特定的情況下使用 例如階乘或者時間呼叫等。今天我們通過乙個簡單的案...

前端開發常用的meta標籤

1 charset 兩種寫法 2 viewpot content 引數 width viewport 寬度 數值 device width height viewport 高度 數值 device height initial scale 初始縮放比例 maximum scale 最大縮放比例 mi...