Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Probleme timonerie schimbator sau...

Numar strada gresit in contractul...

Centrala Ariston Cares Premium 24...

La multi ani @Klasse!
 La multi ani @shmecherul!

pareri ipad 6-2018- flip

Cum au aparut supermarketurile in...

Campanii mincinoase Carrefour
 Tv toshiba defect

touchscreen navigatie stricat

bonsai - de unde?

Resetare Bonus Malus
 Unitatea optica DVD-rw absenta pe...

Problema configurare Wireguard

Dozatoare de apa, cu alimentare d...

Intarziere aterizare avioane
 

Eroare de scenarii perplexe Java și JavaScript

- - - - -
  • Please log in to reply
2 replies to this topic

#1
Gillphade

Gillphade

    New Member

  • Grup: Candidate Members
  • Posts: 5
  • Înscris: 06.01.2023
Bună, în prezent mă cufund în lumea Java și Javascript, dar am întâlnit câteva scenarii nedumerite care m-au lăsat să caut îndrumare. Mai jos este un fragment de cod care evidențiază zonele mele de incertitudine:

// Code Snippet 6 (Javascript)
let x = true;
console.log(`The value of x is: ${x}`);


Iată problemele specifice cu care caut asistență:

1. În ciuda declarării x ca variabilă booleană în Javascript, am întâlnit un comportament neașteptat când am încercat să-i actualizez valoarea de la adevărat la fals. Puteți explica de ce valoarea lui x rămâne neschimbată în ciuda atribuirii unei noi valori?

2. În timp ce am experimentat cu Javascript, am întâlnit rezultate neașteptate când am încercat să printez valoarea lui x folosind console.log(). În ciuda faptului că a furnizat rezultatul așteptat „Valoarea lui x este: adevărat”, nu sunt sigur de mecanismul de bază responsabil pentru afișarea acestui mesaj. Ați putea oferi informații despre funcționarea console.log() în Javascript?

3. Nu sunt sigur care sunt diferențele dintre Java și Javascript, în special în ceea ce privește sintaxa și principiile de bază. Ați putea clarifica diferențele dintre cele două limbi și oferi exemple pentru a demonstra aceste diferențe?

4. În timp ce învățam Javascript din această sursă, am întâmpinat dificultăți în înțelegerea subiectelor precum valorile booleene și expresiile condiționate. Cum variază aceste noțiuni în Java și Javascript și care sunt ramificațiile pentru dezvoltatorii care comută între cele două limbi?

Experiența și ajutorul dvs. ar fi binevenite, deoarece trec prin aceste complexități și îmi extind cunoștințele despre Java și Javascript. Vă mulțumesc pentru ajutor.

#2
utopium

utopium

    Guru Member

  • Grup: Senior Members
  • Posts: 46,061
  • Înscris: 14.08.2007
1.
let x = true;
console.log(`The value of x is: ${x}`);
x = false;
console.log(`The value of x is: ${x}`);

Va afisa cum te astepti, true si apoi false. Nu stiu ce ai testat tu de zici ca nu merge sa ii schimbi valoarea. Daca ai declara x cu const x = true, atunci da, nu i-ai putea schimba valoarea. Mai poate fi o problema de "scope", let e valabil in blocul respectiv doar ... ai aici un exemplu cu var vs let:

function varScoping() {
  var x = 1;
  if (true) {
var x = 2;
console.log(x); // will print 2
  }
  console.log(x); // will print 2
}

function letScoping() {
  let x = 1;
  if (true) {
let x = 2;
console.log(x); // will print 2
  }
  console.log(x); // will print 1
}

Adica let e valabil doar intr-un bloc de cod (de ex intre { si } ) pe cand var e valabil din momentul declararii pana la sfarsitul programului/functiei/clasei (in functie de unde e declarat).

2. console.log e folosit ca sa afisezi ceva in consola ... de obicei pentru debugging in browser (cand pornesti o consola de developer cu F12 de ex), adica vrei sa urmaresti valoarea unei variabile in consola sau sa confirmi ca a ajuns codul intr-o anumita functie/etc.

3. In afara unor asemanari de sintaxa, Java si Javascript nu au prea multe in comun ... Javascript e limbajul "default" suportat de browsere cu care poti manipula elementele dintr-o pagina web/HTML, treaba lui e sa manipuleze in diverse moduri elementele care tin de interfata web (de exemplu cand apesi pe un buton pe o pagina web, care sa iti adauge un produs intr-un shopping cart). Java e un limbaj de programare folosit in special pentru backend, aplicatii mai complexe pentru servere/etc, de exemplu primeste de la Javascript o comanda sa adauge un produs in shopping cart, se conecteaza la baza de date, verifica daca produsul este pe stoc si il adauga in cart ... apoi ii raspunde interfetei ca a adaugat produsul in cart, iar Javascriptul preia acel mesaj ca produsul a fost adaugat in cart cu succes si afiseaza un text corespunzator pe pagina web ... Javascript-ul nu are acces la baza de date ca sa verifice singur daca produsul este pe stoc si sa il adauge intr-o tabela de shopping cart, Java-ul nu are acces la evenimentele de click pe care le faci tu pe un buton in browser, deci se folosesc la lucruri foarte diferite, doar ca au o sintaxa in mare asemanatoare (dar diferentele intre ele ca limbaje sunt mari). Unul e frontend, altul e backend (desi poti face si interfata cu Java la o aplicatie pe Windows de exemplu si acolo poti sa ai butoane care sa aiba evenimente de click la care sa aiba Java acces, dar nu asta e scopul ei principal). Iar ca sa comunice unul cu altul folosesc niste formate comune, gen JSON, unde iti poti structura datele de genul urmator:
- intai Javascript face o cerere de adaugare produs in cart: { tipOperatie: "adaugaCart", idProdus: 17, cantitate: 3 }
- Java-ul il adauga si ii confirma cu un alt JSON care poate fi de genul { adaugareCart: true } sau { adaugareCart: false, mesajEroare: "Produsul nu mai e pe stoc" }, adica niste confirmari pe care codul Javascript sa le recunoasca si sa le afiseze utilizatorului

La fel programatorii de Java si cei de Javascript nu prea au multe in comun, de cele mai multe ori sunt complet diferiti si nu le stiu pe amandoua (la un nivel avansat). Pe ansamblu sunt tehnologii mult diferite, care au doar unele elemente de sintaxa asemanatoare.

Edited by utopium, 30 January 2024 - 20:34.


#3
utopium

utopium

    Guru Member

  • Grup: Senior Members
  • Posts: 46,061
  • Înscris: 14.08.2007
Am pus spatii ca sa fie mai usor de urmarit blocurile de cod:

function varScoping() {
    var x = 1;
    if (true) {
         var x = 2;
         console.log(x); // will print 2
    }
    console.log(x); // will print 2
}

function letScoping() {
    let x = 1;
    if (true) {
         let x = 2;
         console.log(x); // will print 2
    }
    console.log(x); // will print 1
}

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate