Articles of prototipo di

C # – Come accedere alla class interna dall’assemblaggio esterno

Avere un assembly che non posso modificare (fornito dal fornitore) che ha un metodo che restituisce un tipo di object ma è in realtà un tipo interno. Come posso accedere ai campi e / o ai metodi dell’object dal mio assembly? Tenere presente che non è ansible modificare l’assembly fornito dal fornitore. In sostanza, ecco […]

Prototipazione di oggetti in JavaScript interrompe jQuery?

Ho aggiunto un semplice file .js alla mia pagina che ha alcune ordinarie funzioni di tipo common-task aggiunte ai prototipi Object and Array . Attraverso tentativi ed errori, ho capito che aggiungere qualsiasi funzione a Object.prototype , indipendentemente dal suo nome o da quello che causa, causa errori JavaScript in jQuery: Il colpevole? Object.prototype.foo = […]

JavaScript: Quali pericoli ci sono nell’estensione di Array.prototype?

Google JavaScript Style Guide sconsiglia di estendere Array.prototype . Tuttavia, ho usato Array.prototype.filter = Array.prototype.filter || function(…) {…} Array.prototype.filter = Array.prototype.filter || function(…) {…} come modo per averlo (e metodi simili) nei browser in cui non esistono. MDN fornisce in realtà un esempio simile . Sono a conoscenza dei problemi di Object.prototype , ma Array […]

Assegnazione di metodi prototipo * all’interno * della funzione di costruzione – perché no?

Stilisticamente, preferisco questa struttura: var Filter = function( category, value ){ this.category = category; this.value = value; // product is a JSON object Filter.prototype.checkProduct = function( product ){ // run some checks return is_match; } }; A questa struttura: var Filter = function( category, value ){ this.category = category; this.value = value; };// var Filter […]

Definire metodi tramite prototipo vs usando questo nel costruttore – davvero una differenza di prestazioni?

In JavaScript, abbiamo due modi per creare una “class” e assegnarla a funzioni pubbliche. Metodo 1: function MyClass() { var privateInstanceVariable = ‘foo’; this.myFunc = function() { alert(privateInstanceVariable ); } } Metodo 2: function MyClass() { } MyClass.prototype.myFunc = function() { alert(“I can’t use private instance variables. :(“); } Ho letto numerose volte persone che […]

Promozioni degli argomenti predefiniti nelle chiamate alla funzione C.

Impostare Ho alcune domande sulle promozioni degli argomenti predefiniti quando si chiama una funzione in C. Ecco la sezione 6.5.2.2 “Chiamate di funzione” paragrafi 6, 7 e 8 dello standard C99 (pdf) (enfasi aggiunta e suddivisa in elenchi per facilità di lettura): Paragrafo 6 Se l’espressione che denota la funzione chiamata ha un tipo che […]

I membri di oggetti Javascript che sono prototipati come matrici diventano condivisi da tutte le istanze di class

Qualcuno ha notato questo comportamento prima? Questo mi ha davvero sconvolto … mi sarei aspettato che gli array prototipati fossero privati ​​per ogni istanza di class piuttosto che condivisi tra tutte le istanze di class. Qualcuno può verificare che questo è il comportamento corretto e forse spiegare questo comportamento in modo più dettagliato? Si noti […]

Perché i prototipi di funzione di Perl 5 sono pessimi?

In un’altra domanda di Stack Overflow, Leon Timmermans ha affermato: Ti consiglierei di non usare i prototipi. Hanno i loro usi, ma non per la maggior parte dei casi e sicuramente non in questo. Perché questo potrebbe essere vero (o altrimenti)? Quasi sempre fornisco i prototipi per le mie funzioni Perl, e non ho mai […]

Qual è la ragione per utilizzare la parola chiave ‘new’ su Derived.prototype = new Base

Cosa fa il seguente codice: WeatherWidget.prototype = new Widget; dove Widget è un costruttore e voglio estendere la ‘class’ del Widget con una nuova funzione WeatherWidget . Cosa ci fa la new parola chiave e cosa succederebbe se venisse omessa?

Eredità prototipica – redigere

Quindi ho questi 2 esempi, da javascript.info: Esempio 1: var animal = { eat: function() { alert( “I’m full” ) this.full = true } } var rabbit = { jump: function() { /* something */ } } rabbit.__proto__ = animal rabbit.eat() Esempio 2: function Hamster() { } Hamster.prototype = { food: [], found: function(something) { […]