2016-07-26 10 views
2

JavaScriptでメソッド呼び出しができる関数の目的や使用例が何であるか混乱しています。関数はオブジェクトと見なされ、したがって独自のプロパティと関数を持つことができますが、標準オブジェクトと呼ぶものとはまだ少し違いがあるように思えます。たとえば、なぜ私が今までに...代わりに、オブジェクトを作成し、以下のような1つまたは複数の機能性を有するの独自のメソッドを使ったJavascript関数

var myFunction = function(){...}; 
myFunction.method = function(){...}; 

これを行うだろう...

var obj = {method: function(){}}; 

そして、我々はコンソールにありましたか.logはそれぞれ次のようになります...

console.log(myFunction); 
console.log(obj); 
------------------------------------------ 
{ [Function] secondFunction: [Function] } 
{ method: [Function] } 

私は現在、この概念を大いに活用しているようです。ポイントは?これはトップレベルの機能によって何が意味されていますか?

+1

多分この2つの答えは、応答のための http://stackoverflow.com/a/15285702/2418529 http://stackoverflow.com/a/155655/2418529 –

+0

おかげで参考にすることができ、しかし、私はすでに違いを理解します関数とメソッドの間。私の混乱は、四角形が技術的に矩形であるが四角形は必ずしも四角形ではないという同じ原理から生ずると思う。 JavaScriptの場合、関数はオブジェクトですが、オブジェクトは必ずしも関数である必要はありません。違いは、関数オブジェクトを呼び出すことができることです。この機能のポイントは何ですか?ユースケースは何ですか? – 4Matt

答えて

3

expressの場合、これは呼び出し可能な最上位APIとモジュールの他のコンテンツへのアクセスを可能にします。

var express = require('express'); 

var app = express(); 
app.use(express.static('/root')); 

var router = express.Router(); // etc... 

モジュールの主な輸出は、ある種の「コンストラクタ」で、著者はまた、その同じトップレベルのエクスポートに取り付けることによって、追加のものを公開したい場合、これはかなり一般的です。

関連する問題