Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-10-2013, 09:45   #1
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
[JavaScript] Domanda facile

Codice:
<!DOCTYPE html>
<html>
<body>

<h1>My First JavaScript</h1>

<p id="yo">Please input a number.</p>

<input id="demo" type="text">

<script>
function myFunction()
{
var x=document.getElementById("demo").value;
if(x==""||isNaN(x))
{
    alert("Not Numeric");
    return;
}
var v = document.getElementById("yo");
v.innerHTML = "PD";
}
</script>

<button type="button" onclick="myFunction()">Click Me!</button>

</body>
</html>
Questo codice funziona, ma perchè se cambio la parte in grassetto con questo:
Codice:
var v = document.getElementById("yo").innerHTML;
v = "PD";
Non funziona?? Cioè, perchè var v può essere bindata ad un oggetto dom ma non ad una sua proprietà???
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2013, 10:39   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Se si potesse fare quello che dici tu, allora servirebbe un metodo alternativo per leggere il valore di una proprietà, intendo a livello di linguaggio.
Codice:
var v = document.getElementById("yo").innerHTML;
v = "PD";
Nella prima riga stai accedendo alla proprietà innerHTML in lettura, ottenendo il valore e mettendolo in v. Nella seconda stai sovrascrivendo il valore contenuto in v.

Codice:
var v = document.getElementById("yo");
v.innerHTML = "PD";
Qui invece prima ottieni il riferimento all'oggetto, poi accedi alla proprietà in scrittura.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2013, 10:57   #3
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quindi, parlando in C++ese visto che vengo da linguaggi compilati, gli oggetti non si copiano, si passano solo per reference, mentre le loro proprietà si copiano per valore, correct?
Sarebbe
Codice:
string v = document.getElementById("yo").innerHTML;
v = "PD";
versus
Codice:
DOMHeader& v = document.getElementById("yo");
v.innerHTML = "PD";
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2013, 11:27   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
C++ non lo conosco mi dispiace...
Comunque secondo me sta storia del passaggio per reference o per valore è l'invenzione di qualcuno che pensava di rendere la cosa più comprensibile ai suoi studenti e invece ha generato un sacco di confusione... Non mi sto riferendo al C++, magari lì ha senso, ma penso a Java, C#, Javascript... O forse è l'eredità del C++ portata negli altri linguaggi ma secondo me se ne fa volentieri a meno.

Il passaggio è sempre per valore, ma a volte il valore è un riferimento, altre volte è un valore primitivo. Nel tuo caso anche InnerHtml contiene un riferimento, ad un oggetto String in particolare, ma esso è immutabile e come tale non lo puoi modificare tramite i suoi metodi e proprietà. Quindi lo sovrascrivi, però non stai sovrascrivendo InnerHtml, ma il riferimento all'oggetto a cui esso (InnerHtml) puntava che avevi salvato nella tua variabile.
Invece nel caso funzionante, ottieni il riferimento ad un oggetto mutabile e tramite la sua proprietà InnerHtml lo modifichi. In questo caso il riferimento non cambia e quindi stai agendo sullo stesso oggetto da cui hai ottenuto il riferimento ad InnerHtml.

C++ un po' l'avevo studiato ma su un libro delle balle e infatti non ho mai capito come funziona lì la copia di oggetti o il passaggio per valore o riferimento... Non mi ricordo nemmeno quel poco che avevo capito, ma un giorno mi piacerebbe colmare la lacuna
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2013, 12:00   #5
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Allora è come in C#, gli oggetti complessi (class in C#) sono passati/copiati sempre per riferimento, gli oggetti semplici (struct in C#) sono copiati per valore...ho capito cmq, grazie
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
Atlas 960E SuperPoD, la risposta di Huaw...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v