匿名オブジェクトという用語は混乱しやすい用語であるため、明確にすることができます。匿名オブジェクトとは、anon関数を定義するのと同じ方法でオブジェクトの宣言を意味します。匿名オブジェクトでメソッドを宣言することは不可能ですか?
例:
someFunction=function(){}
someObject={}
が、それらはどこでも、そのようなオブジェクトまたは関数の変数を配置することができるように、より具体的には匿名を配置することができます。たとえば、Object.create
というベストな(そして直接的に関連する)例は、window.setTimeout(function(){},ms)
(それ自身の関数のクエリを除いて)を使用するのと同じように、変数の代わりに関数を置くだけですが、これを行うことができます:object.Create(some__proto__object,{cake:false})
私が方法を含めることを試みるまでdandy。その後、それはスローされますTypeError:ディスクリプタはオブジェクトでなければなりません。だから、
私は
variable={
cake:"cheesecake",
taste:"celicious",
stateTheCatch:function(){console.log('The cake is a pie!')}
}
それは動作しますが、
//In practical use:
//Object.create(inheritanceObject,
{
cake:"cheesecake",
taste:"celicious",
stateTheCatch:function(){console.log('The cake is a pie!')}
}//);
が壊れている、私は良い{}
すべて、[OK]を{cake:"cheesecake",taste:"delicious"}
に入れ、コンソールでいくつかのテストを行うには、対象としてカウントされません。なぜこれは悪いのですか?識別子を使用する以外に、Object.create
の2番目の引数にそのように入力するためです。だから、それがなぜそんなにうまくいかないのか手がかり?
FYI:ECMAScript v3 specはjavascriptがどこから来るのかはここにあります。http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm、 '3rd Edition'をクリックしてください。 –