Claudia Chiriță . 2023/2024
JavaScript The Definitive Guide, David Flanagan
Understanding ECMAScript 6, Nicholas C. Zakas
...
ob = document.getElementById("identif")
...
ob.id, ob.className
ob.src
<h1 style="color:pink; text-align:center;">...</h1>
ob.style.color, ob.style.textAlign
<head>
<script type="text/javascript">
/* cod JavaScript */
</script>
</head>
/* comentariu
pe mai multe linii
*/
// comentariu pe o singură linie
JavaScript debugger în browser
un tab al unui browser e reprezentat de un obiect window (interfața Window)
alert(mesaj); // afișează o casetă de alertare care
// conține un mesaj și un buton OK
prompt(text, default-text); // afișează o casetă de dialog
// care cere utilizatorului
// să introducă informații
function nume(param1, param2, ...)
{
corpul funcției
}
x = 23; //number
y = "abc"; //string
z = true; //boolean
var a; //undefined
cat = {nume:"Tigger", culoare:negru}; //obiect
var x = 42;
let x = 42;
const x = 42;
typeof(x);
// scope global
function fA (){
//scope A
function fB () {
// scope B
}
}
var x = 5; //globală
function hoist() { if (x == 5) { var x = 10; }
alert(x); }
hoist(); // va afișa undefined
alert(x); // va afișa 5
~
var x = 5; //globală
function hoist() { var x; // variabilă locală
if (x == 5) { // undefined
var x = 10; }
alert(x); }
hoist(); // va afișa undefined
alert(x); // va afișa 5
var i = 4;
var r = 42.2;
x = "2" * 7; // 14
y = "2" + 7; // "27"
z = parseInt("2") + 7; // 9
t = "2" * "7"; // 14
u = 2 + 3 + "4"; // "54"
z = "2" + 3 + 4; // "234"
obiectul built-in Math
Math.PI //=> 3.14
Math.pow(2,3) // => 8
Math.round(4.7) // => 5
Math.random() // între 0 și 1
Math.sqrt(-1) // => NaN
orice valoare poate fi convertită explicit folosind obiectul predefinit Boolean
var nume = Boolean(valoare);
true === Boolean("adevarat") // => true
false === Boolean("") // => true
șir de caractere scris între ' ' sau " "
var s = "Tigger Lilly";
var t = 'Tigger Lilly';
var pnume = s.slice (0, s.indexOf(" ")); // 'Tigger'
var nume = s.slice(s.lastIndexOf(" ")+1,s.length); // 'Lilly'
proprietăți și metode:
length, charAt(), indexOf(), lastIndexOf(), replace(),
split(), toLowerCase(), concat()
var x = "abcde";
alert(x[0]);
x[0] = 'v';
alert(x[0]); // => a
var x
x == undefined // true
typeof(x) // undefined
var x = null
typeof(x) // object !
null == undefined // true
null === undefined // false
var ob = {prop1: val1, prop2: val2, ... , propn: valn};
ob.prop1; // val1
ob["prop1"]; // val1
var student = { nume: "Tigger",
nota1: 9,
nota2: 10,
media: function(){
return (this.nota1 + this.nota2)/2;
}
}
student.nume \\ "Tigger"
student.nota1 \\ 9
student.nota2 \\ 10
student.media() \\ 9.5
student.media \\ funcția
var a = {nume: "Tigger"} // object
var b = a; // a și b referă aceeași zonă
b.nume = b.nume + " Lilly"; // se modifică și b și a
alert(a.nume); // "Tigger Lilly"
var s = "Tigger"; // string
var t = s; // t copiază valoarea lui s
t = t + " Lilly" ; // se modifică doar t
alert(s) // => "Tigger"
var cat = {nume:"Tigger", culoare:"neagră", vârstă:14}
var cat = new Object();
cat.nume = "Tigger";
cat.culoare = "neagră";
cat.vârstă = 14;
function cat(n, c, v) {
this.nume = n;
this.culoare = c;
this.vârstă = v;
}
var c1 = new cat("Tigger", "neagră", 14);
var c2 = new cat("Fluff", "albă", 2);
proprietăți globale: returnează o valoare simplă
metode globale: apelate global, nu pentru un obiect
var v = new Array();
v[0] = "a"; v[1]= "b";
var v = new Array("a","b");
var v = ["hi", 2, [5,7]];
v = [6,4,7,3];
v.length; // 4
v.push(10); // => v = [6,4,7,3,10]
v.pop(); // => v = [6,4,7,3]
v.shift(); // => v = [4,7,3]
v.unshift(10); // => v = [10,4,7,3]
v.sort(); // => v = [3,4,6,7]
var s = "azi este luni";
var a = s.split(" "); // a = ["azi","este","luni"]
a.reverse(); // a = ["luni","este","azi"]
var s = a.join(‘/’); // s = "joi/este/azi"
function nume(arg1, arg2, ..., argn) {
instrucțiuni;
[ return valoare; ] // opțional
}
o funcție JavaScript poate fi apelată cu un număr variabil de parametri
function suma(a,b) {
return a+b;
}
suma(2,3); // 5
suma(); // NaN
suma(2); // NaN
suma(3,4,1,5,6,7) // 7
orice funcție poate accesa un obiect "arguments" (asemănător unui array) care conține valorile argumentelor cu care se apelează funcția
function fun() {
return arguments.length;
}
fun(2,"sss", 5); // 3
function func(a, b, c) {
console.log(arguments[0]); // expected output: 1
console.log(arguments[1]); // expected output: 2
console.log(arguments[2]); // expected output: 3
}
func(1, 2, 3);
function (arg1, ..., argn) {
instrucțiuni;
}
const fun = function () {
return arguments.length;
}
var f = (x)=>{x+1}
array.map(function(currentValue, index, arr), thisValue)
function f(x) {
return x+1;
}
var array = [1,2,3,4];
var array1 = array.map(f);
console.log(array1); // [2,3,4,5]
function g(x) {
return x * this.a;
}
var o1 = {a:2}, o2 = {a:3};
var array = [1,2,3,4];
var array1 = array.map(g,o1); // [2,4,6,8]
var array2 = array.map(g,o2); // [3,6,9,12]
array.forEach(function(currentValue, index, arr), thisValue)
array.forEach(function(currentValue, index, arr), thisValue)
function f(x, i) {
alert(i + " : " + x);
}
var array = ['luni', 'marți', 'miercuri', 'joi'];
array.forEach(f);
var d = [1, 2, 3, 4];
d.forEach(function(v, i, a) {a[i] = v + 1;});
console.log(d); //[2,3,4,5];
array.filter(function(currentValue, index, arr), thisValue)
function check(word) {
return word.length < 6;
}
var animals = ["cat", "tapir", "platypus", "red panda"];
var smol = animals.filter(check);
console.log(smol); // ["cat", "tapir"]
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
function suma(total,val) {
return total+val;
}
var array = [1,2,3,4];
var s = array.reduce(suma);
console.log(s); // 10;
var cats = [{nume:"Tigger",ani:7},{nume:"Whiskers",ani:6},
{nume:"Fluff",ani:3},{nume:"Kit",ani:2},
{nume:"Tom",ani:6},{nume:"Berlioz",ani:4}];
var copy = cats.slice();
var oldCats = copy.filter((x) => (x.ani >= 6))
.map((x) => (x.nume+" are "+x.ani+" ani"))
.forEach((x) => {alert(x)});
. .
(>\---/<)
,' `.
/ q p \
( >(_Y_)< )
>-' `-' `-<-.
/ _.== ,=.,- \ întrebări?
/, )` '( )
; `._.' `--<
: \ | )
\ ) ;_/
`._ _/_ ___.'-\\\
`--\\\