2011-07-21 20 views
2

グローバルオブジェクトを関数とオブジェクトとして扱うようにプログラミングするにはどうすればよいですか? (私が正しいだ場合は?)jQueryの場合と同じように例えば

:JavaScriptで

X.foo = ''; 

X('bar'); 
+0

以下の答えよりも少し具体的にするために、関数は呼び出し可能なオブジェクトの一種に過ぎません。 – Neil

答えて

2

通常どおりにあなたは、単にこのように、XX.fooを定義:中

var X = function(a) 
{ 
    return a * 2; 
} 
X.foo = function(a) 
{ 
    return a + 1; 
} 

console.log(X(10)); 
console.log(X.foo(10)); 

結果:

20 
11 
0

機能は、他のどのようなオブジェクトがあり、任意の特性を有することができます。例:

function Test() {} 

Test.someProp = "test"; 

あなたの視点に応じて、これらはクラス変数と考えることができます。

証人:

Test instanceof Object // true 
0
function X(string){ 
    alert(string); 
} 

X.foo = 10; 
alert(X.foo); // Alerts "10" 
X('bar');  // Alerts "bar" 
0

すべてFUNCTイオンは、JavaScriptでのオブジェクトです:

function f(x) { 
    console.log(x); 
} 
f.foo = 1; 
f('bar'); // 'bar 
console.log(f.foo); // 1 
0
function X(name) 
{ 
    if (name == 'bar') 
    { 
     // do so mething 
    } 
} 
X.foo = "hello!"; 

機能は、JavaScriptでのオブジェクトです。

0
function foo(txt){ 

    alert(txt) 

} 
foo.text="bar" 
alert(foo.text)  //will give you "bar" 
foo("bar")   //will give you "bar" also