Articles of prototipo di

Posso build un object JavaScript senza usare la nuova parola chiave?

Ecco cosa mi piacerebbe fare: function a() { // … } function b() { // Some magic, return a new object. } var c = b(); c instanceof b // -> true c instanceof a // -> true b instanceof a // -> true È ansible? Riesco a rendere b un’istanza di a semplice agganciarla […]

Come estendere Array.prototype.push ()?

Sto cercando di estendere il metodo Array.push in modo che l’utilizzo di push attiverà un metodo di callback, quindi eseguirà la normale funzione di array. Non sono abbastanza sicuro di come farlo, ma ecco un codice con cui ho giocato senza successo. arr = []; arr.push = function(data){ //callback method goes here this = Array.push(data); […]

Metodi di impostazione tramite object prototipo o costruttore, differenza?

Potresti spiegare la differenza tra l’impostazione dei metodi nel costruttore e attraverso l’object prototipo? Il codice seguente mostra questi due modi di impostare i metodi – say_hello e say_bye funzionano entrambi bene: function MessageClass() { this.say_bye = function() { alert(‘see ya’); }; } MessageClass.prototype.say_hello = function() { alert(‘hello’); }; x = new MessageClass(); x.say_hello(); x.say_bye();

A cosa serve veramente la proprietà `constructor`?

In JavaScript, l’object prototipo di ogni funzione ha un constructor proprietà non enumerabile che punta alla funzione ( EcmaScript §13.2 ). Non viene utilizzato in alcuna funzionalità nativa (ad instanceof controlla solo la catena del prototipo), tuttavia siamo incoraggiati a regolarlo quando si sovrascrive la proprietà prototype di una funzione per l’ereditarietà: SubClass.prototype = Object.create(SuperClass.prototype, […]

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 […]