背景: 基于有關(guān)如何公開Jest進(jìn)行單元測試的庫的問題?,F(xiàn)在,我想創(chuàng)建一個可以在點表示法內(nèi)用點表示法調(diào)用的函數(shù)類(這甚至是不可能的)。首先,我目前正在使用一些方法:這是我如何修改JavaScript Math函數(shù)的示例:Math.mean = function(numericArray){ if(Math.isNumericArray(numericArray)){ return math.mean(numericArray); } return false;}僅供參考,小寫的math.mean()調(diào)用是對數(shù)學(xué)庫的:https ://mathjs.org/,isNumericArray只是一個驗證器,以確保傳入的是數(shù)字?jǐn)?shù)組。然后我將其導(dǎo)出為:module.exports.mean = exports = Math.mean;因此Jest可以在我的單元測試中看到它。我的實際問題: 我想做的是創(chuàng)建一個名為Math.acs的上層“類”,因此您可以使用Math.acs對其進(jìn)行調(diào)用。然后它將具有子功能(例如:foo()和bar()),因此您可以這樣稱呼它們:Math.acs.foo(data); 或Math.acs.bar(data);我試圖將它們封裝到IIFE中:Math.acs = (function(data) { function foo(data){ console.log('hi mom'); }; function bar(data){ console.log("hi dad"); } return bar;})();哪個不起作用(CLI在Math.acs下面看不到任何東西),我還嘗試了在不起作用的函數(shù)內(nèi)部使用直接函數(shù)。如果這不可能的話,我不會死,但是它將使acs模塊中所需的一半左右功能集中并且易于維護(hù)。如果不可能,我可以按照上面顯示的方式編寫各個數(shù)學(xué)模塊。
創(chuàng)建可以用點表示法調(diào)用的子函數(shù)
UYOU
2021-05-04 21:09:37