{"id":1194,"date":"2025-03-13T06:43:50","date_gmt":"2025-03-13T06:43:50","guid":{"rendered":"https:\/\/annaoleks24.thkit.ee\/wp\/?page_id=1194"},"modified":"2025-03-14T18:19:34","modified_gmt":"2025-03-14T18:19:34","slug":"javascript-joonistamine","status":"publish","type":"page","link":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/","title":{"rendered":"JavaScript: joonistamine"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>JavaScript on \u00fcks populaarsemaid ja laialdasemalt kasutatavaid programmeerimiskeeli, mida arendajad \u00fcle maailma kasutavad d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. See keel v\u00f5imaldab veebilehtedel muutuda elavaks ja reageerida kasutaja tegevustele reaalajas. Algselt loodi JavaScript spetsiaalselt brauserites t\u00f6\u00f6tamiseks, et lisada veebilehtedele interaktiivsust ja parandada kasutajakogemust. Kuid tehnoloogia arenedes on JavaScripti kasutusala oluliselt laienenud ning see m\u00e4ngib t\u00e4nap\u00e4eval olulist rolli ka serveripoolses arenduses (n\u00e4iteks Node.js abil), mobiilirakendustes, t\u00f6\u00f6lauaprogrammides, m\u00e4nguarenduses ja isegi tehisintellekti ning andmeteaduse valdkonnas.<\/p>\n\n\n\n<p>JavaScripti \u00fcks suurimaid eeliseid on selle v\u00f5ime muuta veebilehtede sisu d\u00fcnaamiliselt, ilma et oleks vaja lehte uuesti laadida. See t\u00e4hendab, et kasutajad saavad sujuva ja kiire veebikogemuse, mis parandab oluliselt interaktiivsust ja kasutusmugavust. Lisaks v\u00f5imaldab JavaScript t\u00f6\u00f6tada koos CSS-i ja HTML-iga, andes arendajatele v\u00f5imaluse luua kaasaegseid ja visuaalselt atraktiivseid veebilehti. Selle abil saab arendada keerukaid kasutajaliideseid, luua animatsioone, hallata vorme, t\u00f6\u00f6delda andmeid ja saata p\u00e4ringuid serverisse AJAX-i v\u00f5i Fetch API kaudu, mis omakorda aitab optimeerida veebilehe toimivust ja parandada kasutajakogemust.<\/p>\n\n\n\n<p>JavaScript toetab mitmeid programmeerimisparadigmasid, sealhulgas objektorienteeritud, funktsionaalset ja s\u00fcndmusp\u00f5hist programmeerimist. See paindlikkus muudab keele v\u00f5imsaks t\u00f6\u00f6riistaks nii algajatele kui ka kogenud arendajatele. T\u00e4nu laiale \u00f6kos\u00fcsteemile, mille hulka kuuluvad tuhanded raamistike ja teekide (n\u00e4iteks React, Angular, Vue.js, Express.js), on JavaScriptist saanud t\u00e4nap\u00e4evase veebiarenduse lahutamatu osa.<\/p>\n\n\n\n<p>T\u00e4nu oma lihtsusele, mitmek\u00fclgsusele ja suurele kogukonnale on JavaScript arendajate seas v\u00e4ga populaarne ning selle t\u00e4htsus kasvab pidevalt. Kuna tehnoloogia areneb kiiresti, lisanduvad keelde uued funktsioonid ja t\u00e4iustused, mis muudavad selle veelgi v\u00f5imekamaks. See teeb JavaScriptist \u00fche k\u00f5ige olulisema ja vajaliku programmeerimiskeele kaasaegses tarkvaraarenduses.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">JavaScript n\u00e4idis<\/h3>\n\n\n\n<h2>Majake<\/h2>\n            <table id=\"tablemajake\">\n                <tr>\n                    <td rowspan=\"2\">\n                        <canvas id=\"majake\" width=\"400\" height=\"300\"><\/canvas>\n                    <\/td>\n                    <td>\n                        <input type=\"button\" value=\"Taevas\" onclick=\"taevasnupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Pilv\" onclick=\"pilvnupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Paike\" onclick=\"paikenupp()\">\n                        <br>\n                        <br>\n                        <label for=\"radiuspaike\">Radius: <\/label>\n                        <br>\n                        <input type=\"number\" id=\"radiuspaike\" min=\"20\" max=\"100\" step=\"1\" onclick=\"paikenupp()\">\n                    <\/td>\n                    <td>\n                        <input type=\"button\" value=\"Meri\" onclick=\"merinupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Maa\" onclick=\"maanupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Rohi\" onclick=\"rohinupp()\">\n                    <\/td>\n                    <td>\n                        <input type=\"button\" value=\"Sein\" onclick=\"seinnupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Aken\" onclick=\"akennupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Uks\" onclick=\"uksnupp()\">\n                    <\/td>\n                    <td>\n                        <input type=\"button\" value=\"Katus\" onclick=\"katusnupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Korsten\" onclick=\"korstennupp()\">\n                        <br>\n                        <br>\n                        <input type=\"button\" value=\"Suits\" onclick=\"suitsnupp()\">\n                    <\/td>\n                <\/tr>\n                <tr>\n                    <td colspan=\"2\">\n                        <input type=\"button\" id=\"majanupp\" value=\"TERVE MAJA\" onclick=\"majanupp()\">\n                    <\/td>\n                    <td colspan=\"2\">\n                        <input type=\"button\" id=\"kustutanupp\" value=\"KUSTUTA\" onclick=\"kustutanupp()\">\n                    <\/td>\n                <\/tr>\n            <\/table>\n<!--<img decoding=\"async\" src=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png\" alt=\"pilt\">-->\n\n\n\n<script>\nfunction taevasnupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.strokeStyle=\"#b1d4ff\";\n        m.lineWidth = 1;\n        m.fillStyle=\"#e2efff\";\n        m.fillRect(0,0,400,135)\n        m.strokeRect(0,0,400,135);\n    }\n}\nfunction merinupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.strokeStyle=\"#60d5ff\";\n        m.lineWidth = 1;\n        m.fillStyle=\"#91e2ff\";\n        m.fillRect(0,135,400,65)\n        m.strokeRect(0,135,400,65);\n    }\n}\nfunction maanupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.strokeStyle=\"#6ad473\";\n        m.lineWidth = 1;\n        m.fillStyle=\"#91df97\";\n        m.fillRect(0,200,400,100)\n        m.strokeRect(0,200,400,100);\n    }\n}\nfunction seinnupp(){\n    const majake=document.getElementById(\"majake\");\n    if(majake.getContext){\n        let m=majake.getContext(\"2d\");\n\n        m.fillStyle=\"#e6e6e6\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,120,130,20)\n        m.strokeRect(220, 120, 130, 20);\n        m.fillStyle=\"#e6e6e6\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,140,130,20)\n        m.strokeRect(220, 140, 130, 20);\n        m.fillStyle=\"#e6e6e6\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,160,130,20)\n        m.strokeRect(220, 160, 130, 20);\n        m.fillStyle=\"#875c4e4\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,180,130,20)\n        m.strokeRect(220, 180, 130, 20);\n        m.fillStyle=\"#e6e6e6\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,200,130,20)\n        m.strokeRect(220, 200, 130, 20);\n        m.fillStyle=\"#e6e6e6\";\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = 0.5;\n        m.fillRect(220,220,130,20)\n        m.strokeRect(220, 220, 130, 20);\n    }\n}\nfunction katusnupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.beginPath();\n        m.strokeStyle = \"#c64756\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#d26e7a\";\n        m.moveTo(200, 120); \/\/alguspunkt\n        m.lineTo(285, 90);\n        m.lineTo(370, 120);\n        m.lineTo(200, 120);\/\/lopppunkt\n        m.stroke();\n        m.fill()\n    }\n}\nfunction korstennupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.beginPath();\n        m.strokeStyle=\"#d0d0d0\";\n        m.lineWidth = \"1\";\n        m.fillStyle=\"#e6e6e6\";\n        m.moveTo(315, 85);\n        m.lineTo(340, 85);\n        m.lineTo(340, 108.5);\n        m.lineTo(315, 99.5);\n        m.lineTo(315, 85);\n        m.stroke();\n        m.fill()\n    }\n}\nfunction suitsnupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.beginPath();\n        m.strokeStyle=\"#d8d8d8\";\n        m.lineWidth = \"1\";\n        m.fillStyle=\"#f1f1f1\";\n        m.moveTo(345, 0);\n        m.lineTo(400, 0);\n        m.lineTo(400, 30);\n        m.lineTo(335, 84);\n        m.lineTo(320, 84);\n        m.lineTo(345, 0);\n        m.stroke();\n        m.fill()\n    }\n}\nfunction pilvnupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.beginPath();\n        m.arc(87,63,20, 0.5*Math.PI, 1.5*Math.PI,false)\n        m.arc(103,50,20, 1*Math.PI, 0,false)\n        m.arc(140,50,20, 1*Math.PI, 0,false)\n        m.arc(157,63,20, 1.5*Math.PI, 0.5*Math.PI,false)\n        m.arc(140,75,20, 0, 1*Math.PI,false)\n        m.arc(103,75,20, 0, 1*Math.PI,false)\n        m.closePath();\n        m.strokeStyle=\"#e9e9e9\";\n        m.lineWidth = \"1\";\n        m.fillStyle=\"white\";\n        m.fill();\n        m.stroke()\n        m.beginPath();\n        m.arc(287,93,20, 0.5*Math.PI, 1.5*Math.PI,false)\n        m.arc(303,80,20, 1*Math.PI, 0,false)\n        m.arc(340,80,20, 1*Math.PI, 0,false)\n        m.arc(357,93,20, 1.5*Math.PI, 0.5*Math.PI,false)\n        m.arc(340,105,20, 0, 1*Math.PI,false)\n        m.arc(303,105,20, 0, 1*Math.PI,false)\n        m.closePath();\n        m.strokeStyle=\"#e9e9e9\"\n        m.lineWidth = \"1\";\n        m.fillStyle=\"white\";\n        m.fill();\n        m.stroke()\n    }\n}\nfunction paikenupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        let radiuspaike=document.getElementById(\"radiuspaike\");\n        m.beginPath();\n        m.arc(100,50,radiuspaike.value,0,2*Math.PI, true)\n        m.strokeStyle=\"#fff658\"\n        m.lineWidth = \"1\";\n        m.fillStyle=\"#fff989\";\n        m.fill();\n        m.stroke()\n        m.beginPath();\n        m.arc(100,50,20,0,2*Math.PI, true)\n        m.strokeStyle=\"#fff658\"\n        m.lineWidth = \"1\";\n        m.fillStyle=\"#fff989\";\n        m.fill();\n        m.stroke()\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(100, 0);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(130, 0);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(140, 20);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(180, 30);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(200, 50);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(180, 80);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(140, 90);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(130, 130);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(100, 150);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(70, 130);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(60, 90);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(20, 80);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(0, 50);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(20, 20);\n        m.stroke();\n\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(60, 20);\n        m.stroke();\n        m.beginPath();\n        m.strokeStyle=\"#fff989\";\n        m.lineWidth = \"3\";\n        m.moveTo(100, 50);\n        m.lineTo(70, 0);\n        m.stroke();\n    }\n}\nfunction rohinupp() {\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext){\n        let m=maja.getContext(\"2d\");\n        m.beginPath();\n        m.strokeStyle=\"#18521c\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#237829\";\n        m.moveTo(20,230);\n        m.lineTo(15,210);\n        m.lineTo(25,225);\n        m.lineTo(30,200);\n        m.lineTo(35,220);\n        m.lineTo(40,215);\n        m.lineTo(35,230);\n        m.lineTo(20,230);\n        m.stroke();\n        m.fill()\n\n        m.beginPath();\n        m.strokeStyle=\"#18521c\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#237829\";\n        m.moveTo(85,280);\n        m.lineTo(75,250);\n        m.lineTo(90,270);\n        m.lineTo(95,250);\n        m.lineTo(95,270);\n        m.lineTo(105,245);\n        m.lineTo(100,280);\n        m.lineTo(95,280);\n        m.stroke();\n        m.fill()\n\n        m.beginPath();\n        m.strokeStyle=\"#18521c\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#237829\";\n        m.moveTo(185,250);\n        m.lineTo(180,230);\n        m.lineTo(185,240);\n        m.lineTo(190,220);\n        m.lineTo(195,235);\n        m.lineTo(200,215);\n        m.lineTo(195,250);\n        m.lineTo(185,250);\n        m.stroke();\n        m.fill()\n\n        m.beginPath();\n        m.strokeStyle=\"#18521c\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#237829\";\n        m.moveTo(280,280);\n        m.lineTo(275,260);\n        m.lineTo(285,275);\n        m.lineTo(290,250);\n        m.lineTo(295,270);\n        m.lineTo(300,265);\n        m.lineTo(295,280);\n        m.lineTo(280,280);\n        m.stroke();\n        m.fill()\n\n        m.beginPath();\n        m.strokeStyle=\"#18521c\";\n        m.lineWidth = \"1\";\n        m.fillStyle = \"#237829\";\n        m.moveTo(350,240);\n        m.lineTo(340,210);\n        m.lineTo(355,230);\n        m.lineTo(360,210);\n        m.lineTo(360,230);\n        m.lineTo(370,205);\n        m.lineTo(365,240);\n        m.lineTo(350,240);\n        m.stroke();\n        m.fill()\n    }\n}\nfunction akennupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext) {\n        let m = maja.getContext(\"2d\");\n        m.beginPath();\n        m.arc(310, 160, 15, 1 * Math.PI, 0, false)\n        m.strokeStyle = \"white\";\n        m.lineWidth = 10;\n        m.fillStyle = \"#44494f\";\n        m.stroke();\n        m.fill()\n\n        m.strokeStyle=\"white\";\n        m.lineWidth = \"5\";\n        m.fillStyle=\"#44494f\";\n        m.fillRect(292,162,35.5,40)\n        m.strokeRect(292,162,35.5,40);\n\n        m.fillStyle=\"white\";\n        m.fillRect(307.5,162,5,40)\n    }\n}\nfunction uksnupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext) {\n        let m = maja.getContext(\"2d\");\n        m.beginPath();\n        m.arc(247.5, 186, 12.5, 1 * Math.PI, 0, false)\n        m.strokeStyle = \"#d26e7a\";\n        m.lineWidth = \"10\";\n        m.fillStyle = \"#44494f\";\n        m.stroke();\n        m.fill()\n\n        m.fillStyle = \"#d26e7a\";\n        m.fillRect(230, 186, 35, 55)\n\n        m.fillStyle = \"#44494f\";\n        m.fillRect(235, 215, 5, 2)\n    }\n}\nfunction majanupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext) {\n        let m = maja.getContext(\"2d\");\n        taevasnupp()\n        pilvnupp()\n        paikenupp()\n        merinupp()\n        maanupp()\n        rohinupp()\n        seinnupp()\n        akennupp()\n        uksnupp()\n        korstennupp()\n        katusnupp()\n        suitsnupp()\n    }\n}\n\nfunction kustutanupp(){\n    const maja=document.getElementById(\"majake\");\n    if(maja.getContext) {\n        let m = maja.getContext(\"2d\");\n        m.clearRect(0,0,400,300)\n    }\n}\n<\/script>\n\n\n\n<style>\ncanvas{\n    background-color: #e6e6e6;\n    \/*width: 400px;*\/\n    border: 1px solid gray;\n}\ninput[type=button]{\n    border: 1px solid gray;\n    color: gray;\n    padding: 10px;\n    box-shadow: 2px 2px 8px slategray;\n    width: 100px;\n}\ninput[type=button]:hover{\n    color: black;\n}\ntable#tablepyhi tr:nth-child(1) td:nth-child(1) {\n    width: 420px;\n}\ntable#tablepyhi tr:nth-child(1) td:nth-child(2) {\n    vertical-align: top;\n}\ntable#tablelipud tr:nth-child(1) td:nth-child(1) {\n    width: 350px;\n    vertical-align: top;\n}\ntable#tablelipud tr:nth-child(1) td:nth-child(2) {\n    width: 220px;\n    vertical-align: top;\n}\ntable#tablelipud tr:nth-child(1) td:nth-child(3) {\n    width: 270px;\n    vertical-align: top;\n}\ntable#tablelipud tr:nth-child(1) td:nth-child(4) {\n    width: 150px;\n    vertical-align: top;\n}\ntable#tablemajake tr:nth-child(1) td:nth-child(1) {\n    width: 420px;\n    vertical-align: top;\n}\ntable#tablemajake tr:nth-child(1) td:nth-child(2) {\n    width: 150px;\n    vertical-align: top;\n}\ntable#tablemajake tr:nth-child(1) td:nth-child(3) {\n    width: 150px;\n    vertical-align: top;\n}\ntable#tablemajake tr:nth-child(1) td:nth-child(4) {\n    width: 150px;\n    vertical-align: top;\n}\ntable#tablemajake tr:nth-child(1) td:nth-child(5) {\n    width: 150px;\n    vertical-align: top;\n}\n#majanupp{\n    width: 255px;\n}\n#kustutanupp{\n    width: 255px;\n}\n<\/style>\n\n\n\n<p class=\"has-small-font-size\"><a href=\"https:\/\/annaoleks24.thkit.ee\/canvas\/canvas.html\">Allikas<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript on \u00fcks populaarsemaid ja laialdasemalt kasutatavaid programmeerimiskeeli, mida arendajad \u00fcle maailma kasutavad d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. See keel v\u00f5imaldab veebilehtedel muutuda elavaks ja reageerida kasutaja tegevustele reaalajas. Algselt loodi JavaScript spetsiaalselt brauserites t\u00f6\u00f6tamiseks, et lisada veebilehtedele interaktiivsust ja parandada kasutajakogemust. Kuid tehnoloogia arenedes on JavaScripti kasutusala oluliselt laienenud ning see m\u00e4ngib t\u00e4nap\u00e4eval olulist [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1194","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP<\/title>\n<meta name=\"description\" content=\"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP\" \/>\n<meta property=\"og:description\" content=\"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/\" \/>\n<meta property=\"og:site_name\" content=\"Anna Oleks &Otilde;PIMAPP\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-14T18:19:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/\",\"name\":\"JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP\",\"isPartOf\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png\",\"datePublished\":\"2025-03-13T06:43:50+00:00\",\"dateModified\":\"2025-03-14T18:19:34+00:00\",\"description\":\"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.\",\"breadcrumb\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png\",\"contentUrl\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png\",\"width\":550,\"height\":550},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/annaoleks24.thkit.ee\/wp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript: joonistamine\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/#website\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/\",\"name\":\"Anna Oleks &Otilde;PIMAPP\",\"description\":\"Portfolio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/annaoleks24.thkit.ee\/wp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP","description":"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/","og_locale":"et_EE","og_type":"article","og_title":"JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP","og_description":"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.","og_url":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/","og_site_name":"Anna Oleks &Otilde;PIMAPP","article_modified_time":"2025-03-14T18:19:34+00:00","og_image":[{"url":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/","url":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/","name":"JavaScript: joonistamine - Anna Oleks &Otilde;PIMAPP","isPartOf":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage"},"image":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage"},"thumbnailUrl":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png","datePublished":"2025-03-13T06:43:50+00:00","dateModified":"2025-03-14T18:19:34+00:00","description":"JavaScript \u2013 populaarne programmeerimiskeel d\u00fcnaamiliste ja interaktiivsete veebirakenduste loomiseks. Uuri selle v\u00f5imalusi.","breadcrumb":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#primaryimage","url":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png","contentUrl":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/logo2-1.png","width":550,"height":550},{"@type":"BreadcrumbList","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/javascript-joonistamine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/annaoleks24.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"JavaScript: joonistamine"}]},{"@type":"WebSite","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/#website","url":"https:\/\/annaoleks24.thkit.ee\/wp\/","name":"Anna Oleks &Otilde;PIMAPP","description":"Portfolio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/annaoleks24.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/comments?post=1194"}],"version-history":[{"count":11,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1194\/revisions"}],"predecessor-version":[{"id":1385,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1194\/revisions\/1385"}],"wp:attachment":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/media?parent=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}