Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-01-2007, 18:43   #1
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
[Javascript]oggetti

Ma un oggetto di javascript non ha costruttore?
Possibile che se definisco un oggetto con dei metodi devo stare attento all'ordine in cui li inserisco?
Ad esempio:
Codice:
function Oggetto(){
      this.avviso("ciao");
      this.avviso=function(msg){
             alert("msg");
      }
}
Questo non funziona perchè uso avviso() prima di averla definita...cioè non ho parole fa veramente schifo così...
Poi non riesco a rendere un metodo non accessibile dall'esterno.
Se scrivo un metodo come:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      this.metodo=function(){
             alert(this.a);
      }
}
il metodo è chiamabile dall'esterno e mi mostra "ciao", mentre se faccio:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      var metodo=function(){
             alert(this.a);
      }
}
Il metodo non è più richiamabile dall'esterno ma solo dall'interno, ma il bello è che se faccio:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      var metodo=function(){
             alert(this.a);
      }
      metodo();
}
mi stampa "pippo" !!!! Ha dell'incredibile sta cosa, javascript direi che è un po' troppo confuso.
bha...
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2007, 21:49   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da MEMon
Ma un oggetto di javascript non ha costruttore?
Javascript è un linguaggio "prototype-based" (al riguardo leggi <qui>). Non è object-oriented come C++, Java, ecc... Non ha il concetto di "classe" ma le funzioni possono fungere da costruttori.

Quote:
Originariamente inviato da MEMon
Ad esempio:
Codice:
function Oggetto(){
      this.avviso("ciao");
      this.avviso=function(msg){
             alert("msg");
      }
}
Questo non funziona perchè uso avviso() prima di averla definita
Ovvio che non funziona ... In Javascript non c'è una vera e propria dichiarazione dei metodi. Un metodo è nient'altro che una funzione associata in qualche modo all'oggetto. Quindi prima associ la funzione all'oggetto e poi la puoi richiamare.

Quote:
Originariamente inviato da MEMon
Se scrivo un metodo come:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      this.metodo=function(){
             alert(this.a);
      }
}
il metodo è chiamabile dall'esterno e mi mostra "ciao".
Questo è ok, perché hai associato la funzione al nome puntato dal this, quindi 'metodo' fa parte dell'oggetto.

Quote:
Originariamente inviato da MEMon
mentre se faccio:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      var metodo=function(){
             alert(this.a);
      }
}
Il metodo non è più richiamabile dall'esterno ma solo dall'interno
Certo ... 'metodo' adesso è una semplice variabile locale, non è legato alla istanza dell'oggetto. Quando Oggetto() termina, 'metodo' sparisce.

Quote:
Originariamente inviato da MEMon
ma il bello è che se faccio:
Codice:
var a="pippo";
function Oggetto(){
      this.a="ciao";
      var metodo=function(){
             alert(this.a);
      }
      metodo();
}
mi stampa "pippo" !!!!
Anche qui è abbastanza logico: 'metodo' è una semplice variabile a cui associ la function. Quindi non fa parte dell'oggetto (come detto nel punto prima). Dentro quella function, il 'this' non fa riferimento alla istanza di Oggetto ma all'oggetto che potremmo chiamare "top-level", che nei browser è "window".

Se fai:
Codice:
var a="pippo";
alert (window.a);
Infatti stampa "pippo".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2007, 23:17   #3
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ti vorrei chiedere un altra cosina allora

Sto cercando di inserire un mio metodo in una funzione già fatta, in questo modo:
Codice:
function A(){
     alert("ciao");
}

A.prototype.B=function(){
     alert("mondo");
}
Ovviamente la funzione A non è mia, è una funzione che viene richiamata da firefox quando si chiude una TAB io vorrei inserici della mia roba perchè mi server intercettare la chiusura di una TAB e non trovo nessun altro modo valido...
Ho anche provato ad usare gli eventi ma la cosa non è pulita, ci sono eventi per così dire "spurii".
Comunque in questo modo inserisco si un metodo B() nella funzione A(), ma quando viene chiamata la funzione A() non viene chiamato anche il metodo B()... c'è un modo?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2007, 23:24   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
spe forse ci sono riuscito, l'ho "incapsulata" in un altra funzione, così:
Codice:
function A(){
     alert("ciao");
}

var temp=A;

function B(){
      temp();
     alert("mondo");
}

A=B;

A();   // stampa "ciao" "mondo"
Sec te com'è? un pasticcio?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2007, 23:37   #5
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
mmm però nn funziona non capisco...ora non si chiudono più le TAB
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2007, 09:53   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Guarda qui: Code snippets:Tabbed browser
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2007, 12:46   #7
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ti ringrazio funziona alla grande! L'unico problema è che non viene notificato nessun evento di questo tipo quando chiudo il browser con le tab ancora aperte, ma ci guarderò.

Ho un problema concettuale, ho un oggetto con diversi metodi del tipo e vorrei che quando viene istanziato mi aggiunga anche degli eventi che avessero come funzione risolutiva un metodo interno all'oggetto, ad esempio:
Codice:
function Oggetto(){
    this.risolvi=function(event){
           this.avviso("ciao");
    }
    this.avviso=function(msg){
           alert(msg);
    }
    window.addEventListener("click",this.risolvi,true);
}

var o=new Oggetto();
Ecco, mi dice che this.avviso non è una funzione, in pratica sembra che la parola this si riferisce a window, infatti se creo una funzione chiamata avviso fuori dall'oggetto viene eseguita quella!
La domanda quindi è, come posso fare eseguire una funzione che chiami un'altra funzione, entrambe apparteneneti all'oggetto, quando si verifica un evento?
Perchè se la funziona è chemata da un evento viene considerata come se fosse esterna?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2007, 13:21   #8
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Per ora l'unica cosa che funziona è questa:
Codice:
function Oggetto(){
    this.risolvi=function(event){
           this.avviso("ciao");
    }
    this.avviso=function(msg){
           alert(msg);
    }
}

var o=new Oggetto();

function gestisciEvento(event){
     o.risolvi(event);
}
window.addEventListener("click",gestisciEvento,true);
Ma fa abbastanza schifo!!!
MEMon è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
19.000 Pa a un prezzo senza precedenti: ...
Narwal in super offerta su Amazon: robot...
SK hynix e NVIDIA lavorano a un SSD spec...
Roborock in super offerta su Amazon: pre...
Dreame abbassa i prezzi su Amazon: robot...
ECOVACS Deebot torna protagonista su Ama...
Il primo iPhone pieghevole potrebbe esse...
Apple 'apre' iOS alle terze parti anche ...
Cloud sovrano: l'approccio di Broadcom c...
HONOR conferma l'arrivo in Italia di Mag...
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: 13:53.


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