は、このスニペットを見てみましょう:Javascriptを:X = obj.fn対obj.fn(); X()
var obj = {
fn: function() {return this;}
};
var x = obj.fn;
obj.fn(); // returns obj
x(); // returns window (in the browser)
obj.fn()
がx=obj.fn; x()
異なっているなぜ私は好奇心が強いです。単一の式の中で関数呼び出しの直後にある属性ルックアップの特別なケースはありますか?(例えば、Pythonのdescriptor protocolのような)より複雑な魔法がありますか?
関連するES5仕様のセクション:http://ecma262-5.com/ELS5_HTML.htm#Section_11.2.3 –
@Tim Down:ありがとう、私はそれ自身を見つけられませんでした。残念なことに、その仕様の可読性は疑問に思えます。:)とにかく、プロパティルックアップと呼び出し演算子の構成は、別々に使用するよりも異なる結果になることは残念です。 –