වෙබ් තාක්ෂණයේ සැලකිය යුතු දියුණුවක් වනනේ සන් මයික්රෝ සිස්ටම් ගේ ජාවා වේදිකාවය. එය කුඩා වැඩසටහන් (යෙදුමිත්ත ලෙස හඳුන්වන) කෙලින්ම දර්ශනය කිරීමට වෙබ් පිටුවලට ඉඩ සලස්වයි. මෙම යෙදුමිති පරිශීලකයාගේ පරිගණකයේ ක්රියාත්මක වන අතර සරල වෙබ් පිටුවලට වඩා පොහොසත් පරිශීලක අතුරු මුහුණක් සපයයි. ජාවා සේවාලාභී - පැති යෙදුමිති, විවිධ හේතු ගණනවක් නිසා , සන් බලාපොරොත්තු වූ ප්රසිද්ධිය ලබා ගත්තේ නැත. ඒ හේතු අතරට , අනෙකුත් අන්ත්ගතය සමඟ සමෝධානය අඩු වීම (යෙදුමිති අදාල පිටුව තුළ කුඩා කොටුවලට සීමාකර තිබිණි) හා එකල බොහොමයක් පරිගණක ගැලපෙන පරිදි ජාවා අතාත්වික යන්ත්රය ස්ථාපනය නොකර පරිශීලකයන් අතට පත් කර තිබීම අයත් වේ. එම නිසා පරිශීලකයන්ට යෙදුමිති දර්ශනය වීමට ඒවා පළමුව බාගත කර ගත යුතුය. මුල දී ජාවා යෙදුමිති සඳහා වූ බොහොමයක් කාර්යයන් අඩෝබ් ෆ්ලෑෂ් (Adobe Flash) මඟින් ඉටු කරයි. ඒවාට වීඩියෝ අන්තර්ගත සජීවීකරණ හා සමහරක් දියුණු UI අංග ධාවනය කිරීම ඇතුළත් වේ. ජාවා, වේදිකාවක් ලෙස බහුලව භාවිතා වන අතර සේවාදායක පැති හා අනෙක් ක්රමලේඛකරණ (programming) සඳහා භාෂාවක් ලෙස ද භාවිතා වේ.
ජාවා උපදේශාවලි, අනෙක් අතට, වෙබ් පිටු තුළ භාවිතය සඳහා දියුණු කරන ලද උපදේශාවලි භාෂාවකි. සම්මතකරණය කරන ලද සංස්කරණය වනනේ ECMA උපදේශාවලියයි. නෙට් ස්කේප් නිර්මාණය කළ ජාවා උපදේශාවලිය එහි නමින් ජාවාට සමාන නමුත් එයට ජාවා සමඟ කළ හැකි කිසිවක් නොවීය. එසේ නමුත් ජාවා මෙන් එහි වාග් රීතිය (syntax) ව්යුත්පන්න වූයේ ක්රමලේඛ භාෂාවෙනි. වෙබ් පිටුවල, ලේඛ වස්තු ආකෘතිය සමඟ සසඳා බලන කළ එහි නිර්මාණකරුවන් සිතුවාටත් වඩා බලවත් තාක්ෂණික ක්රමයක් බවට ජාවා උපදේශාවලි පත්ව ඇත. ස්ථිතික HTML සංදර්ශනවලින් වෙන් කිරීම සඳහා , සේවා ලාභියාට පිටුව ලැබුණු පසු පිටුවේ ලේඛ වස්තු ආකෘතිය ක්රියාත්මක කිරීම ඩයිනමික් HTML (DHTML) ලෙස හඳුන්වනු ලැබීය.
සරල සිද්ධිවල දී , පිටුව ප්රථමයෙන් ලැබෙන විට, ජාවා උපදේශාවලි වර්ධිත වෙබ් පිටුවේ සියලු අතිරේක තොරතුරු හා ක්රියා බාගත වේ. අජැක්ස් (Ajax) (අසමකාලික ජාවා උපදේශාවලි හා XML) යනු පරිශීලක ක්රියාවලට ප්රතිචාරලෙස පසු කාලීනව ජාලය හරහා ගත් නව තොරතුරු යොදා ගෙන වෙබ් පිටුවක් තුළ වූ කොටස් යාවත් කාලීන කළ හැකි ක්රමයක් සපයන, වෙබ් යෙදුම් නිර්මාණයට යොදා ගන්නා, අන්තර්ව බැදුණු වෙබ් නිර්මාණකරණ තාක්ෂණික ක්රම කාණ්ඩයකි. මෙය නිසා වෙබ් පිටුව වඩා ප්රතිචාරී අන්තර් ක්රියාකාරී හා රුචි ජනක වන අතර මුලු පිටුවක නැවත පැමිණෙන තෙක් පරිශීලකයාට බලා හිඳීමට සිදු නොවේ. වෙබ් 2.0 ලෙස හඳුන්වන්නෙහි වැදගත් අංගයක් ලෙස ඇජැක්ස් දැකිය හැකිය. දැනට භාවිතා වන අජැක්ස් තාක්ෂණික ක්රමවලට උදාහරණ ජී මේල්, ගූගල් මැප් හා අනෙක් උද්යෝගී වෙබ් යෙදුම්වල දැකගත හැකිය.
Example - syntax and semantics
This sample code showcases various JavaScript features. The example can be executed with the following steps: (1) Copy the code to a file with extension .html
. (2) Use Mozilla Firefox or Google Chrome to open the file.
<html> <head><title>LCM Calculator</title></head> <body> <font face="Courier New" size="3"> <script type="text/javascript"> /* Finds the lowest common multiple of two numbers */ function LCMCalculator(x, y) { // constructor function function checkInt(x) { // inner function if (x % 1 != 0) throw new TypeError(x + " is not an integer"); // exception throwing return x; } //semicolons are optional (but beware since this may cause consecutive lines to be //erroneously treated as a single statement) this.a = checkInt(x) this.b = checkInt(y) } // The prototype of object instances created by a constructor is // that constructor's "prototype" property. LCMCalculator.prototype = { // object literal gcd : function() { // method that calculates the greatest common divisor // Euclidean algorithm: var a = Math.abs(this.a), b = Math.abs(this.b), t; if (a < b) { t = b; b = a; a = t; // swap variables } while (b !== 0) { t = b; b = a % b; a = t; } // Only need to calculate gcd once, so "redefine" this method. // (Actually not redefinition - it's defined on the instance itself, // so that this.gcd refers to this "redefinition" instead of LCMCalculator.prototype.gcd.) // Also, 'gcd' == "gcd", this['gcd'] == this.gcd this['gcd'] = function() { return a; }; return a; }, "lcm" /* can use strings here */: function() { // Variable names don't collide with object properties, e.g. |lcm| is not |this.lcm|. // not using |this.a * this.b| to avoid FP precision issues var lcm = this.a / this.gcd() * this.b; // Only need to calculate lcm once, so "redefine" this method. this.lcm = function() { return lcm; }; return lcm; }, toString : function() { return "LCMCalculator: a = " + this.a + ", b = " + this.b; } }; // Note: Array's map() and forEach() are predefined in JavaScript 1.6. // They are currently not available in the JScript engine built into // Microsoft Internet Explorer, but are implemented in Firefox, Chrome, etc. // They are used here to demonstrate JavaScript's inherent functional nature. [[25,55],[21,56],[22,58],[28,56]].map(function(pair) { // array literal + mapping function return new LCMCalculator(pair[0], pair[1]); }).sort(function(a, b) { // sort with this comparative function return a.lcm() - b.lcm(); }).forEach(function(obj) { /* Note: print() is a JS builtin function available in Mozilla's js CLI; * It is functionally equivalent to Java's System.out.println(). * Within a web browser, print() is a very different function * (opens the "Print Page" dialog), * so use something like document.write() or alert() instead. */ // print (obj + ", gcd = " + obj.gcd() + ", lcm = " + obj.lcm()); // alert (obj + ", gcd = " + obj.gcd() + ", lcm = " + obj.lcm()); document.write(obj + ", gcd = " + obj.gcd() + ", lcm = " + obj.lcm() + "<br />"); }); </script> <noscript> (Message from JavaScript example) <br /> Your browser either does not support JavaScript, or you have JavaScript turned off. </noscript> </body> </html>
The following output should be displayed in the browser window.
LCMCalculator: a = 28, b = 56, gcd = 28, lcm = 56 LCMCalculator: a = 21, b = 56, gcd = 7, lcm = 168 LCMCalculator: a = 25, b = 55, gcd = 5, lcm = 275 LCMCalculator: a = 22, b = 58, gcd = 2, lcm = 638
If Internet Explorer is used, the example will generate an error. Hence the example illustrates the point that the JScript interpreter in Internet Explorer executes code differently from the JavaScript interpreters in other browsers. (See comments in the source code for details on the relevant differences for this example.)
විකිපීඩියාව, විකි, සිංහල, පොත, පොත්, පුස්තකාලය, ලිපිය, කියවන්න, බාගන්න, නොමිලේ, නොමිලේ බාගන්න, mp3, වීඩියෝ, mp4, 3gp, jpg, jpeg, gif, png, පින්තූරය, සංගීතය, ගීතය, චිත්රපටය, පොත, ක්රීඩාව, ක්රීඩා., ජංගම දුරකථන, android, ios, apple, ජංගම දුරකථන, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, පීසී, වෙබ්, පරිගණකය
ව බ ත ක ෂණය ස ලක ය ය ත ද ය ණ වක වනන සන මය ක ර ස ස ටම ග ජ ව ව ද ක වය එය ක ඩ ව ඩසටහන ය ද ම ත ත ල ස හඳ න වන ක ල න ම දර ශනය ක ර මට ව බ ප ට වලට ඉඩ සලස වය ම ම ය ද ම ත පර ශ ලකය ග පර ගණකය ක ර ය ත මක වන අතර සරල ව බ ප ට වලට වඩ ප හ සත පර ශ ලක අත ර ම හ ණක සපයය ජ ව ස ව ල භ ප ත ය ද ම ත ව ව ධ හ ත ගණනවක න ස සන බල ප ර ත ත ව ප රස ද ධ ය ලබ ගත ත න ත ඒ හ ත අතරට අන ක ත අන ත ගතය සමඟ සම ධ නය අඩ ව ම ය ද ම ත අද ල ප ට ව ත ළ ක ඩ ක ට වලට ස ම කර ත බ ණ හ එකල බ හ මයක පර ගණක ග ලප න පර ද ජ ව අත ත ව ක යන ත රය ස ථ පනය න කර පර ශ ලකයන අතට පත කර ත බ ම අයත ව එම න ස පර ශ ලකයන ට ය ද ම ත දර ශනය ව මට ඒව පළම ව බ ගත කර ගත ය ත ය ම ල ද ජ ව ය ද ම ත සඳහ ව බ හ මයක ක ර යයන අඩ බ ෆ ල ෂ Adobe Flash මඟ න ඉට කරය ඒව ට ව ඩ ය අන තර ගත සජ ව කරණ හ සමහරක ද ය ණ UI අ ග ධ වනය ක ර ම ඇත ළත ව ජ ව ව ද ක වක ල ස බහ ලව භ ව ත වන අතර ස ව ද යක ප ත හ අන ක ක රමල ඛකරණ programming සඳහ භ ෂ වක ල ස ද භ ව ත ව ජ ව උපද ශ වල අන ක අතට ව බ ප ට ත ළ භ ව තය සඳහ ද ය ණ කරන ලද උ පද ශ වල භ ෂ වක සම මතකරණය කරන ලද ස ස කරණය වනන ECMA උපද ශ වල යය න ට ස ක ප න ර ම ණය කළ ජ ව උපද ශ වල ය එහ නම න ජ ව ට සම න නම ත එයට ජ ව සමඟ කළ හ ක ක ස වක න ව ය එස නම ත ජ ව ම න එහ ව ග ර ත ය syntax ව ය ත පන න ව ය ක රමල ඛ භ ෂ ව න ව බ ප ට වල ල ඛ වස ත ආක ත ය සමඟ සසඳ බලන කළ එහ න ර ම ණකර වන ස ත ව ටත වඩ බලවත ත ක ෂණ ක ක රමයක බවට ජ ව උපද ශ වල පත ව ඇත ස ථ ත ක HTML ස දර ශනවල න ව න ක ර ම සඳහ ස ව ල භ ය ට ප ට ව ල බ ණ පස ප ට ව ල ඛ වස ත ආක ත ය ක ර ය ත මක ක ර ම ඩය නම ක HTML DHTML ල ස හඳ න වන ල බ ය සරල ස ද ධ වල ද ප ට ව ප රථමය න ල බ න ව ට ජ ව උපද ශ වල වර ධ ත ව බ ප ට ව ස යල අත ර ක ත රත ර හ ක ර ය බ ගත ව අජ ක ස Ajax අසමක ල ක ජ ව උපද ශ වල හ XML යන පර ශ ලක ක ර ය වලට ප රත ච රල ස පස ක ල නව ජ ලය හරහ ගත නව ත රත ර ය ද ග න ව බ ප ට වක ත ළ ව ක ටස ය වත ක ල න කළ හ ක ක රමයක සපයන ව බ ය ද ම න ර ම ණයට ය ද ගන න අන තර ව බ ද ණ ව බ න ර ම ණකරණ ත ක ෂණ ක ක රම ක ණ ඩයක ම ය න ස ව බ ප ට ව වඩ ප රත ච ර අන තර ක ර ය ක ර හ ර ච ජනක වන අතර ම ල ප ට වක න වත ප ම ණ න ත ක පර ශ ලකය ට බල හ ඳ මට ස ද න ව ව බ 2 0 ල ස හඳ න වන න හ ව දගත අ ගයක ල ස ඇජ ක ස ද ක ය හ ක ය ද නට භ ව ත වන අජ ක ස ත ක ෂණ ක ක රමවලට උද හරණ ජ ම ල ග ගල ම ප හ අන ක උද ය ග ව බ ය ද ම වල ද කගත හ ක ය Example syntax and semanticsThis sample code showcases various JavaScript features The example can be executed with the following steps 1 Copy the code to a file with extension html 2 Use Mozilla Firefox or Google Chrome to open the file lt html gt lt head gt lt title gt LCM Calculator lt title gt lt head gt lt body gt lt font face Courier New size 3 gt lt script type text javascript gt Finds the lowest common multiple of two numbers function LCMCalculator x y constructor function function checkInt x inner function if x 1 0 throw new TypeError x is not an integer exception throwing return x semicolons are optional but beware since this may cause consecutive lines to be erroneously treated as a single statement this a checkInt x this b checkInt y The prototype of object instances created by a constructor is that constructor s prototype property LCMCalculator prototype object literal gcd function method that calculates the greatest common divisor Euclidean algorithm var a Math abs this a b Math abs this b t if a lt b t b b a a t swap variables while b 0 t b b a b a t Only need to calculate gcd once so redefine this method Actually not redefinition it s defined on the instance itself so that this gcd refers to this redefinition instead of LCMCalculator prototype gcd Also gcd gcd this gcd this gcd this gcd function return a return a lcm can use strings here function Variable names don t collide with object properties e g lcm is not this lcm not using this a this b to avoid FP precision issues var lcm this a this gcd this b Only need to calculate lcm once so redefine this method this lcm function return lcm return lcm toString function return LCMCalculator a this a b this b Note Array s map and forEach are predefined in JavaScript 1 6 They are currently not available in the JScript engine built into Microsoft Internet Explorer but are implemented in Firefox Chrome etc They are used here to demonstrate JavaScript s inherent functional nature 25 55 21 56 22 58 28 56 map function pair array literal mapping function return new LCMCalculator pair 0 pair 1 sort function a b sort with this comparative function return a lcm b lcm forEach function obj Note print is a JS builtin function available in Mozilla s js CLI It is functionally equivalent to Java s System out println Within a web browser print is a very different function opens the Print Page dialog so use something like document write or alert instead print obj gcd obj gcd lcm obj lcm alert obj gcd obj gcd lcm obj lcm document write obj gcd obj gcd lcm obj lcm lt br gt lt script gt lt noscript gt Message from JavaScript example lt br gt Your browser either does not support JavaScript or you have JavaScript turned off lt noscript gt lt body gt lt html gt The following output should be displayed in the browser window LCMCalculator a 28 b 56 gcd 28 lcm 56 LCMCalculator a 21 b 56 gcd 7 lcm 168 LCMCalculator a 25 b 55 gcd 5 lcm 275 LCMCalculator a 22 b 58 gcd 2 lcm 638 If Internet Explorer is used the example will generate an error Hence the example illustrates the point that the JScript interpreter in Internet Explorer executes code differently from the JavaScript interpreters in other browsers See comments in the source code for details on the relevant differences for this example