2012-03-25 61 views
5

我正在開發一個將JavaScript源代碼轉換爲目標語言的翻譯器。我正試圖用目標語言實現JavaScript的Math對象。Math對象的JavaScript代碼

如果有「Math」對象的JavaScript實現,我可以使用翻譯器以目標語言獲取等效代碼。

我期待這樣的事情:

var Math = { 
    pow: function(...) {...} 
    exp: function(...) {...} 
    /* other methods of Math */ 
} 

有這樣即可以實現? 這會幫助我避免用目標語言手動編寫Math對象的代碼。

+0

我不知道這樣的實現。 – 2012-03-25 20:26:38

回答

3

這是從official ecmascript-262 specification

注意功能ACOS的行爲,ASIN,ATAN,ATAN2,COS,EXP, 日誌,戰俘,罪惡,開方,棕褐色是不準確在這裏指定除 以要求特定結果的某些參數值代表 感興趣的邊界案例。對於其他參數值,這些函數用於計算近似值爲 熟悉的數學函數的結果,但某些緯度允許在近似算法的選擇中使用。一般意圖是實現者應該能夠在該平臺上的程序員可用的給定硬件平臺上使用用於 ECMAScript的相同數學庫。

雖然算法的選擇是 留給實現,建議(但不是通過 本標準中規定),該實施方式中使用近似算法 包含在fdlibm IEEE 754算術運算,從所述免費分發的 數學庫Sun Microsystems (http://www.netlib.org/fdlibm)。

2

對象是:比這些

Math.exp(x) // Returns the value of Ex 

Math.pow(x,y) // Returns the value of x to the power of y 

其他還有更多,這將幫助你,你將在java的需要。那些是

Math.PI   // returns PI 
Math.random();    // returns a random number 
Math.max(0, 150, 30, 20, -8, -200);  // returns 150 
Math.min(0, 150, 30, 20, -8, -200);  // returns -200 
Math.round(4.7);   // returns 5 
Math.round(4.4);   // returns 4