HTML, Excel, Word, SEOÎñíîâû JavaScript ⇒ Ìàòåìàòèêà â JavaScript

ÎÑÍÎÂÛ JavaScript

Ó÷åáíèê JavaScript
·Çíàêîìñòâî ñ JS. Ïåðåìåííûå, îïåðàòîðû, îïåðàöèè
·Ôóíêöèè
·Ìîäåëü HTML äîêóìåíòà
·Èåðàðõèÿ äîêóìåíòîâ â áðàçóåðå
·Ôîðìû
·Îêíà è ôðåéìû
·Ññûëêè, çàãîëîâîê, ñòàòóñ
·Ñîáûòèÿ
·Ñîáûòèÿ êëàâèàòóðû è ìûøè
·Ñîáûòèÿ. Òàéìåð
·Ñòèëè. Óïðàâëåíèå ñòèëÿìè
·Ñëîè è áëîêè. Óïðàâëåíèå âèäèìîñòüþ
·Îáúåêòû JS
·Âíåøíèå îáúåêòû
·Âíóòðåííèå îáúåêòû
·Ìàññèâû
·Ðåãóëÿðíûå âûðàæåíèÿ
·Ìàòåìàòèêà â JS
·Ïðèìåð ïðîñòîãî êàëüêóëÿòîðà
·Äàòà è âðåìÿ
·Cookies è õðàíåíèå ñîñòîÿíèÿ
·Íåìíîãî îá AJAX
·Ðàáîòà ñ WebMoney



Ìàòåìàòèêà â JavaScript


Àâòîð: Àðòåìüåâ Ñåðãåé Èãîðåâè÷ ICQ: 438856621 email: _spin_@bk.ru

Àðèôìåòè÷åñêèå îïåðàòîðû è ïðèâåäåíèå òèïîâ

JavaScript ïîääåðæèâàåò ñëåäóþùèå àðèôìåòè÷åñêèå îïåðàòîðû:

+ (ïëþñ) Ñëîæåíèå

2 + 8

7 + 3

10

10

- (ìèíóñ) Âû÷èòàíèå

2 - 8

7 - 3

-6

4

* (çâ¸çäî÷êà) Óìíîæåíèå

2 * 8

7 * 3

16

21

/ (ñëýø) Îáû÷íîå äåëåíèå

8 / 2

7 / 3

4

2.3333

% (ïðîöåíò) Äåëåíèå ïî ìîäóëþ

8 % 2

7 % 3

0

1

++ (äâà ïëþñà) Åäèíè÷íûé èíêðåìåíò

8++

7++

9

8

-- (äâà ìèíóñà) Åäèíè÷íûé äåêðåìåíò

8--

7--

7

6

Èíòåðåñíàÿ îñîáåííîñòü JavaScript - âîçìîæíîñòü âûïîëíÿòü àðèôìåòè÷åñêèå îïåðàöèè íàä ïåðåìåííûìè ðàçëè÷íîãî òèïà.  ýòîì ñëó÷àå èíòåðïðåòàòîð ñàìîñòîÿòåëüíî âûïîëíÿåò ïðèâåäåíèå òèïîâ è âûïîëíÿåò óêàçàííóþ îïåðàöèþ.  ïðîöåññå âåäåíèÿ òèïîâ èñïîëüçóþòñÿ ñëåäóþùèå ïðàâèëà:

1. Åñëè îäèí èç îïåðàíäîâ - ñòðîêà, òî âñå îñòàëüíûå îïåðàíäû ïðèâîäÿòñÿ ê ñòðîêîâîìó âèäó.

var1 = "Äÿäÿ"
var2 = "Âàíÿ"
result = var1 + " " + var2
// result = "Äÿäÿ Âàíÿ"
mixed = var2 + 100
// mixed = "Âàíÿ100"		

2. Âñå ëîãè÷åñêèå îïåðàíäû ïðèâîäÿòñÿ ê ÷èñëîâîìó âèäó, êðîìå ñëó÷àåâ, êîãäà âñå îïåðàíäû â âûðàæåíèè ëîãè÷åñêèå. Ïðè ýòîì true ïðèâîäèòñÿ ê "1", à false - ê "0". Ïðè ñî÷åòàíèè ëîãè÷åñêèõ îïåðàíäîâ ñî ñòðîêàìè - âñå îïåðàäíû ïåðåâîäÿòñÿ â òåêñòîâûé âèä.

var1 = true
var2 = true
result = var1 + var2
// result = 2
mixed = var2 + 100
// mixed = 101	
var3 = "ñòðîêà:"
str = var3 + var1
// str = "ñòðîêà:true"

3. Åñëè ïðèâåäåíèå òèïîâ âûïîëíèòü íå óäàëîñü - ðåçóëüòàòîì âûðàæåíèÿ áóäåò "NaN" (íàïðèìåð, ïðè ïîïûòêå ðàçäåëèòü ñòðîêó íà ÷òî-ëèáî).

var1 = "Äÿäÿ"
var2 = "Âàíÿ"
result = var1 / var2
// result = "NaN"
mixed = var2 * true
// mixed = "NaN"		

Îäíàêî íà íà÷àëüíîì ýòàïå ëó÷øå âîçäåðæàòüñÿ îò ïðèâåäåíèÿ òèïîâ è ôîêóñîâ ñ ïðåîáðàîâàíèåì ðåçóëüòàòîâ. Ýòî èçáàâèò âàñ îò çíà÷èòåëüíîãî ÷èñëà îøèáîê.

Îáúåêò Math

Îáúåêò Math ñîäåðæèò îñíîâíûå ìàòåìàòè÷åñêèå êîíñòàíòû è ñòàíäàðòíûå ìàòåìàòè÷åñêèå ôóíêöèè. Íàèáîëåå ÷àñòî èñïîëüçóåìûå ïðèâåäåíû â òàáëèöå:

Ñâîéñòâà
LN10 Çíà÷åíèå íàòóðàëüíîãî ëîãàðèôìà ÷èñëà 10
LN2 Çíà÷åíèå íàòóðàëüíîãî ëîãàðèôìà ÷èñëà 2
PI Çíà÷åíèå ÷èñëà Ïè
Ìåòîäû
abs(÷èñëî) Âîçâðàùàåò àáñîëþòíîå çíà÷åíèå ÷èñëà (ò.å. ÷èñëî áåç ó÷¸òà åãî çíàêà)
ceil(÷èñëî) Îòêðóãëÿåò ÷èñëî äî áëèæàéøåãî áîëüøåãî öåëîãî (îêðóãëåíèå "ââåðõ")
exp(÷èñëî) Âîçâðàùàåò ÷èñëî "e" â ñòåïåíè "÷èñëî"
floor(÷èñëî) Îòêðóãëÿåò ÷èñëî äî áëèæàéøåãî ìåíüøåãî öåëîãî (îêðóãëåíèå "âíèç")
max(÷èñëî1, ÷èñëî2) Âîçâðàùàåò áîëüøåå èç äâóõ ÷èñåë
min(÷èñëî1, ÷èñëî2) Âîçâðàùàåò ìåíüøåå èç äâóõ ÷èñåë
pow(÷èñëî1, ÷èñëî2) Âîçâðàùàåò "÷èñëî1", âîçâåä¸ííîå â ñòåïåíü "÷èñëî2"
random() Âîçâðàùàåò ñëó÷àéíîå ÷èñëî â äèàïàçîíå îò 0 äî 1
round(÷èñëî) Îêðóãëÿåò ÷èñëî â ñîîòâåòñòâèè ñî ñòàíäàðòíûìè ïðàâèëàìè îêðóãëåíèÿ
sqrt(÷èñëî) Âîçâðàùàåò êâàäðàòíûé êîðåíü ÷èñëà.

Èç âñåõ ïåðå÷èñëåííûõ ôóíêöèé èìååò ñìûñë äîïîëíèòåëüíî ïîÿñíèòü òîëüêî ceil(), floor() è round(). Ðàññìîòðèì èõ îòëè÷èÿ íà ïðèìåðå:

num = 1.222
// áëèæàéøåå öåëîå "âíèç" - 1
// áëèæàéøåå öåëîå "ââåðõ" - 2
// àðèôìåòè÷åñêè îòêðóãëÿåòñÿ äî 1


alert(Math.ceil(num))
alert(Math.floor(num))
alert(Math.round(num))

// ïîëó÷èì òðè ñîîáùåíèÿ: 2, 1, 1

num = 1.777
// áëèæàéøåå öåëîå "âíèç" - 1
// áëèæàéøåå öåëîå "ââåðõ" - 2
// àðèôìåòè÷åñêè îòêðóãëÿåòñÿ äî 2


alert(Math.ceil(num))
alert(Math.floor(num))
alert(Math.round(num))

// ïîëó÷èì òðè ñîîáùåíèÿ: 2, 1, 2



Íàáîð ìàòåìàòè÷åñêèõ ôóíêöèé JavaScript ïîçâîëÿåò ðåøàòü äîâîëüíî áîëüøîé ñïåêòð çàäà÷, íî çëîóïîðòåáëÿòü ýòèì íå ñòîèò. Íå çàáûâàéòå, ÷òî êîä èñïîëíÿåòñÿ èíåòðïðåòàòîðîì, à âîò î íèçêîóðîâíåâîé îïòèìèçàöèè âû÷èñëåíèé íåò è ðå÷è, ñëåäîâàòåëüíî âûñîêîãî áûñòðîäåéñòâèÿ äîáèòüñÿ áóäåò î÷åíü ñëîæíî.

×àùå âñåãî ìàòåìàòèêà íà ñàéòàõ èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ðàçëè÷íûõ êàëüêóëÿòîðîâ èëè ðàñ÷¸òà ïîëîæåíèÿ ýëåìåíòîâ èíòåðôåéñà.  ïðèìåðå ê äàííîìó óðîêó ìû ðàññìîòðèì ñêðèïò äëÿ ñîçäàíèÿ ïðîñòîãî êàëüêóëÿòîðà.

 



 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû