2016-06-29 6 views
-3

私たちはjavascriptでオブジェクトと関数を定義するとき、私たちはあまり違いを見ません。オブジェクトと関数が異なるのは何ですか?javascriptの関数とオブジェクトの本質的な違いは何ですか?

+0

これをチェックアウト - http://stackoverflow.com/questions/17525450/object-vs-class-vs-function – AGrammerPro

+1

あなたがすることはできません関数をシリアル化して、オブジェクトを実行することはできません。 –

+2

オブジェクトと関数は異なる目的で使用されます。違いがなければ、一般的なプログラミングを理解できません。 – undefined

答えて

-1

JavaScriptの経験則では、表示されているすべてのオブジェクトが同じ方法で派生しているということです。Object. JavaScriptの関数はas seen hereです。そういうわけで、彼らは同じように見えます。

編集:プリミティブデータ型はオブジェクトではありません。私はこれが唯一の例外だと信じています。

0

JavascriptのほとんどはObject:Array、Function、Objectリテラルで、文字列と数値は '。'を使ってオブジェクトに一時的にプロモートできます。実際にはオブジェクトではありません。

すべてのJavascriptオブジェクトには、プロパティ(参照)が組み込まれています。例えば、proto のような参照は、独自の関数コンストラクタにつながります。

しかし機能は、彼らはあなたが簡単な作業で呼び出すコード特性を有するスタータため、非常にユニークなオブジェクトである:

function a(){ console.log("hello") } 
a(); 

彼らは閉鎖を可能にし、それの父親変数のすべてが含まれているスコープのオブジェクト参照を、持っています可能であることを:

function a(){ 
    var c = 1; 
    return function b(){ 
     console.log("i have access to my father's vars" + c); 
    } 
} 
var c = a(); 

は、彼らはあなたがここでは約読むことができる実行コンテキストを作成する能力を持っています

一般に、他のオブジェクトにはない多くの固有の組み込み機能があります。 最後にあなたがtypeof演算子によって、オブジェクトリテラルから関数を異なる場合があります:

typeof function(){} //function 
typeof {} //object 
関連する問題