www.seznam.cz
Interpret(y) | Prohlížeč(e) |
Spidermonkey, Tracemonkey, Jägermonkey | Mozilla, Firefox, Camino |
JScript, Chakra | Internet Explorer |
V8 | Google Chrome |
JavaScriptCore, SquirrelFish (Nitro) | Safari |
Futhark, Carakan | Opera |
KJS | Konqueror |
alert
, window
, document
, …
document.addEventListener("click", funkce, false);
document.attachEvent("onclick", funkce);
var odstavce = document.getElementsByTagName("p");
for (var i=0; i<odstavce.length; i++) {
odstavce[i].parentNode.removeChild(odstavce[i]);
}
var Clovek = function() {}; /* funkce je datový typ */
Clovek.prototype.mzda = 1; /* kde se vzala vlastnost prototype? */
Clovek.prototype.pracuj = function() {
this.penize += this.mzda;
};
var Programator = function() {};
Programator.prototype = new Clovek(); /* přepsání vlastnosti prototype */
Programator.prototype.mzda = 2;
var ondra = new Programator();
ondra.pracuj();
var jakSeJmenujes = function() { alert(this.jmeno); }
var jmeno = "Lojza";
jakSeJmenujes();
var objekt = {
jmeno: "Pepa"
}
jakSeJmenujes.call(objekt);
var Clovek = function(jmeno) {
this.jmeno = jmeno;
}
Clovek.prototype.jakSeJmenujes = jakSeJmenujes;
var jarda = new Clovek("Jarda");
jarda.jakSeJmenujes();
Úloha: po kliknutí na každou z položek číslovaného seznamu vypsat její pořadí
var items = ul.getElementsByTagName("li");
for (var i=0; i<items.length; i++) {
var item = items[i];
var poKliknuti = function() { alert(i); }
item.addEventListener("click", poKliknuti, false);
}
/* specifikace značky, atributů a stylů */
var input = JAK.mel("input", {type:"text", value:"ahoj"}, {color:"red"});
/* CSS 1 selektor */
var odstavce = JAK.query("#id .class p");
/* souřadnice vůči levému hornímu rohu stránky */
var pos = JAK.DOM.getBoxPosition(odstavce[0]);
JAK.DOM.append([rodic1, prvek1, prvek2], [rodic2, prvek3, …]);
var Odkaz = function(a) {
this.id = JAK.Events.addListener(a, "click", this, "_click");
};
Odkaz.prototype._click = function(e, elm) {
JAK.Events.cancelDef(e);
alert(elm.href);
JAK.Events.removeListener(this.id);
};
new Odkaz(JAK.gel("id"));
var Class = JAK.ClassMaker.makeClass({
NAME: "Test class",
VERSION: "1.0"
});
Class.prototype.method = function(a) {};
var Interface = JAK.ClassMaker.makeInterface({
NAME: "Test interface"
});
Interface.prototype.otherMethod = function() {};
var SubClass = JAK.ClassMaker.makeSingleton({
NAME: "Test subclass",
EXTEND: Class,
IMPLEMENT: [Interface]
});
SubClass.prototype.method = function(a, b) {
this.$super(a);
}
SubClass.getInstance().method();
var Sender = JAK.ClassMaker.makeClass({
NAME: "Sender",
IMPLEMENT: JAK.ISignals
});
Sender.prototype.send = function() {
this.makeEvent("porad-se-neco-deje");
};
var Receiver = JAK.ClassMaker.makeClass({
NAME: "Receiver",
IMPLEMENT: JAK.ISignals
});
Receiver.prototype.$constructor = function(sender) {
this.addListener("porad-se-neco-deje", "_receive", sender);
};
Receiver.prototype._receive = function(e) { alert(e.type); }
var r = new JAK.Request(JAK.Request.XML); /* možno také TEXT, JSONP, BINARY */
var odpoved = function(xmlDoc, status) {
alert("HTTP/" + status);
alert(xmlDoc.documentElement.nodeName);
}
r.setCallback(odpoved);
var data = {
"a": "b",
"c": ["něco", "něco jiného"]
};
r.send("/zpracuj.php", data);
var div = JAK.mel("div");
var i = new JAK.CSSInterpolator(div, 500);
i.addProperty("opacity", 1, 0);
i.addProperty("width", 500, 0, "px");
i.addColorProperty("backgroundColor", "#f00", "#000");
i.start();
var Metronom = function() {}
Metronom.prototype.tick = function() {}
var m = new Metronom();
var t = JAK.Timekeeper.getInstance();
t.addListener(m, "tick", 5); /* jednou za 100ms */
/* nějaká činnost … */
t.removeListener(m);
Prostor pro otázky