underscore通過物件呼叫函式實現原理

2021-09-14 00:40:49 字數 1154 閱讀 8947

(function();

vat root._ = _;

// 方法掛載到_物件上,外部通過 _.funname() 進行呼叫

// 例如,字串逆置

_.reverse = function(str)

})()

// 呼叫

_.reverse('hello') // olleh

公升級函式物件呼叫

即:_('hello').reverse() // olleh

則 _ 不能是乙個字面量物件,而為函式物件

var _ = function(){};

var root._ = _;

_('hello').reverse()

觀察該方法,我們要實現的機制就是返回乙個函式物件,然後呼叫掛載在該函式物件的方法

也就是實現以下這個目標

(function();

var _ = function(obj)

root._ = _;

_.log = function()

// _.prototype.log = function()

})()

_().log(); // _(...).log is not a function

通過這個例子我們到達終點又邁進了一大步,也就是說,我們實現乙個函式,作用是將自己的方法複製到原型物件上,處理這種問題,我們會不由的想起mixin這種模式。

function mixin(receiver, supplier) 

}}

一起來學習下underscore的mixin實現**

var arrayproto = array.prototype;

var push = arrayproto.push;

_.mixin = function(obj) ;

});return _;

};_.mixin(_);

這裡的複製**寫的很漂亮,提取出來,可以學習下

_.prototype[name] = function() ;
通過mixin的使用,實現了物件導向的風格的使用和函式模式兩種風格

通過wifi除錯android程式 無線除錯模式

資料線丟了,不想花錢去買,在網上看了看,android手機居然可以通過wifi進行程式的除錯,太好了,自己搞了一下,雖然網上寫的很詳細,但是還是有些問題,記錄下來,下次參考。1.首先讓android 聽指定的埠 這一步需要使用shell,因此手機上要有終端模擬器,不過網上很多,隨便找個就行了,依次敲...

通過物件顯示message text

在t code se91中建立的message class,實際是儲存在表t100中的。我們如果想通過呼叫物件的方法,來顯示乙個message class中,某個message number的text。可以讓這個物件所對應的類實現if t100 message這個介面。並在類的構造方法中,呼叫重寫後...

ArrayList集合封裝 類 並通過方法呼叫

總結 1.先建立 j aproject專案,再建包 package,再建類 class 2.main alt 直接出main方法 public static void main string args 3.sysout alt 直接出 system.out.println 4.console一幫都在...