不知不覺已經來到第28天了呢!大部分的函式都已經簡單介紹過了,不管是他們的數學意義還是使用方式
其中有一些在數學上很常用的數,雖然還是透過某些數學方法計算出來的,但由於太常用到了,所以JS將他們直接設成了靜態屬性,讓我們一起來認識一下他們吧!
回想我自己在小學時期,圓面積的公式會背:半徑*半徑*3.14
,小時候就覺得π
就是3.14
,當然大家都知道π
會是一個無窮不循環小數,那為什麼小學要把他當作3.14
來算呢?
對小學生來說,算圓面積時算出一個大概的數,在認知上是比較清楚的,他們可以知道面積大概多大,好去跟其他長方形三角形面積做比較;算出圓周長也可以知道實際大概多長。
那因為在圓的章節太常用到π
來計算,所以老師乾脆直接設定就是3.14
啦!
到了國中,根號2
跟根號3
,老師一樣叫我們背他們分別是1.414
跟1.732
,其實也是因為很常用到所以背起來就能做大概的計算了!
又到了高中,學習到了對數的概念,課本後面一樣有了密密麻麻的「對數表」XDD也是為了讓你在遇到對數時可以去翻找,就不用自己算了!查表法就是這麼一回事~
說這麼多我們回到正題吧!
所以在數學上很多數很頻繁地被使用,而這些數本身也是需要透過一些計算來得到。
所以JS將他們設成靜態屬性,在調用時就不用再另外做計算,這樣大量使用時就能減少許多運算成本啦!
也就是說,這些靜態屬性可以視作JS自己的查表法?
關於這個說法歡迎留言一起討論~
一起來看看有哪些吧!
Math 的靜態屬性 |
意義 | 值 |
---|---|---|
Math.E |
歐拉常數 | 近似於2.718 |
Math.LN10 |
10 的自然對數 |
近似於2.302 |
Math.LN2 |
2 的自然對數 |
近似於0.693 |
Math.LOG10E |
以10 為底e 的對數 |
近似於0.434 |
Math.LOG2E |
以2 為底e 的對數 |
近似於1.442 |
Math.PI |
圓周率,圓周長與直徑的比例 | 近似於3.14159 |
Math.SQRT1_2 |
1/2的平方根 | 近似於0.707 |
Math.SQRT2 |
根號2 | 近似於1.414 |
跟歐拉常數有關:
Math.E
:第一個歐拉常數昨天跟大家介紹過了!就不再多做介紹。Math.LN10
:也就是以Math.E
為底10
的對數。Math.LN2
:以Math.E
為底2
的對數。Math.LOG10E
:以10
為底Math.E
的對數。Math.LOG2E
:以2
為底Math.E
的對數。其他好像不解釋大家也都很清楚XDD
而關於他們的規範,其實都跟昨天介紹的Math.E
內容大同小異,有興趣可以自行去翻找,大概就是一些屬性描述器的設定~
我沒了。
參考資料:
MDN-Math.E
MDN-Math.LN10
MDN-Math.LN2
MDN-Math.LOG10E
MDN-Math.LOG2E
MDN-Math.PI
MDN-Math.SQRT1_2
MDN-Math.SQRT2
ECMAScript-Math.LN10