2012-03-08 1 views

答えて

10

これは、comma operatorが第2オペランドを返し、両方を評価するためです。

あなたの質問のコードは同等です:

1; 
var global = eval('this'); 
alert(global); 
+0

悲しいが、真... – powtac

+0

あなたは説明できますかいくつかのリンクは、あまりにも本当に混乱して有用であろうことがあります。 –

+1

@Sheikh、私は私の答えでMDNのドキュメントにリンクしました:)基本的に '(1、eval)'はカンマ演算子 '、'を '1'と' eval'に適用します。演算子は '1'を評価し、評価して' eval'を返します。したがって、 'foo =(1、eval)(something)'は '1と等価です。 foo = eval(何か); '。 –

関連する問題