同様の追加(1)(2)を達成するために(3)の効果が生じ6

    二日前に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それを追加を達成するための方法がありますか?

 

おすすめ

転載: www.cnblogs.com/luoyanan/p/11820183.html