二日前に6の結果として、(2)(3)を追加します(1)を達成するためにaddメソッドを達成する方法を疑問に確認するには、私の考えをきっかけ始めました。
add()を(達成するために1)は、この方法を呼び出して、add()メソッドの戻り値が関数であるである必要があります
機能追加(){ VARの TEMP = 関数(){ 戻り TEMP; //は、それ自体を返すために、複数のコールをサポートするために、一時ニーズが必要 } 戻りTEMPを; }
2.設計パラメータ
機能の追加(X){ VARの合計= X。 VaRの TEMP = 関数(Y){ 和 + = Y。 戻り温度; } 戻りTEMP。 }
アドオン(1)の実施後に返さ3.ステップ2は、彼がそれからの累積値に戻るまで放置する方法、機能のですか?私たちは、黒&のtoString valueOfメソッドまたはメソッドを使用する必要があります。ここでは、上記の方法では、元は一時一時時刻を返し、我々はのtoStringとvalueOfメソッドを書き換えるので、temp.toStringまたはtemp.valueOfメソッドを呼び出すようにしようとする過程で合計を返します値。
機能の追加(X){ VARの合計= X。 関数TEMP(Y){ 和 + = Y。 戻り温度; } temp.toString = 関数(){ 戻り値の和、 } 戻りTEMP。 } 追加( 1)(2)(3)。// F 6 typeofを追加(1)(2)(3)// 関数の 追加(1)(2)(3)== 6 // 真 追加(1)(2)(3)=== 6。// 偽
追加(1)(2)(3)結果の型は、実際に使用されるか、または実際に約「+」ターンを使用する値の関数であることに留意されたいです。+(1)(2)(3)を追加した結果は、オーソドックスなタイプ番号6の友人であります
優先課題とのvalueOfをTOSTRING: - (オブジェクトタイプ日付バイナリ「+」演算例外)、それ以外の場合、合計通訳オブジェクトをオペランドとして、インタプリタは優先常にのvalueOf()を呼び出し我々はそれが優先コールのtoString()を取る、それが文字列であると信じたい、上記の状況がそう上記の場合だけのvalueOfが定義された自己valueOfメソッドを実行する書き換えされていない、状況のtoString優先呼である(のtoStringを書き換えません。プロトタイプの呼び出し)
質問:(1)(2)(3)=== 6それを追加を達成するための方法がありますか?