js幾個常用知識

2021-09-11 03:52:36 字數 1107 閱讀 6079

最優化的繼承方式: 聖杯模式

var inherit = (function(c, p) ;

return function(c,p)

})();

型別判斷

基本型別(null) 使用string(null) 返回』null』

基本型別(string/number/boolean/undefined) 以及 function 使用typeof

其餘引用型別(array/date/regexp/error/object) 呼叫tostring後根據[object ***]進行判斷

var class2type = {}

'array date regexp object error'.split(' ').foreach(e => class2type['[object ' + e + ']'] = e.tolowercase())

function type(obj)

防抖和節流

防抖:將多次高頻操作優化為只在最後一次執行

function debounce(fn, wait, immediate)  

if(timer) cleartimeout(timer)

timer = settimeout(function() , wait)

}}

節流:每隔一段時間執行一次

function throttle(fn, wait, immediate) 

// 每隔一段時間執行

if (!timer) , wait)}}

}

函式柯里化

在乙個函式中,首先填充幾個函式,然後再返回乙個新的函式的技術,稱為函式的柯里化。

通常用於在不侵入函式的前提下,為函式 預置通用函式, 供多次重複使用。

const add = function add(x) 

}// 通用初始函式

const add1 = add(1)

add1(2) === 3

add1(20) === 21

js 陣列幾個常用API

1.陣列方法 map var arr 1,2,3,4,5,6 var b arr.map el el a arr.map el console.log b 6 1a 2a 3a 4a 5a 6a map 返回乙個陣列,其中每個元素都使用指定函式進行過轉換。2.arr.filter 返回乙個陣列,只有...

js 陣列常用知識

1.es5 es6陣列去重排序 方法一 es5 簡單的迴圈套迴圈遍歷對比 function way1 arr if repeat return arr1 方法二 es5 先排序,取出新的值與相鄰的值進行對比 function way2 arr return arr3 方法三 利用es6中set容器的...

js常用知識真理

1.js 陣列 var a new array var a new array size var a new array element1,element2,雖然第二種和第三種都指定了陣列的長度,但是js的陣列長度是可變的,也就是說即使陣列長度只有5,你也可以把資料存到第六個位置,依然能夠存下。fu...