2016-01-29 54 views
-1

假設我有一個對象:如何以編程方式在函數中包裝JavaScript對象屬性?

{ 
    prop: somefunc() 
} 

現在我要搶道具的價值部分:somefunc()和功能包,並返回值:

function(){ 
    return somefunc() 
} 

我怎樣才能做到這一點編程??

+2

'somefunc()'*執行*該功能,並指定無論其返回值是'prop'。鑑於此,目前尚不清楚你想在這裏做什麼。 – deceze

+1

'var x = {prop:somefunc};函數somefunc(){(console.log(1))} x.prop();'我想你需要類似這樣的函數 – styopdev

+0

' function(){ return ObjName.prop.somefunc() }''''somefunc'是功能表達式.. – Rayon

回答

0

Mabye是這樣的:

它返回一個函數預先分配的財產,後來調用屬性的功能。

function getPropFn(obj) { 
 
    return function() { 
 
     return obj.prop(); 
 
    } 
 
} 
 

 
var obj = { prop: function() { return 42; } }, 
 
    fn42 = getPropFn(obj), 
 
    fn42a = obj.prop; // without fancy stuff. 
 

 
document.write(fn42() + '<br>' + fn42a());

+0

這是一些有趣的Javascript雜技,但我真的很難找到一個實際的應用程序。 – deceze

相關問題