Articles of protótipo de

Definir methods através do object de protótipo ou no construtor, diferença?

Você poderia explicar a diferença entre os methods de configuração no construtor e através do object de protótipo? O código a seguir mostra essas duas maneiras de definir os methods – say_hello e say_bye funcionam bem: function MessageClass() { this.say_bye = function() { alert(‘see ya’); }; } MessageClass.prototype.say_hello = function() { alert(‘hello’); }; x = […]

O que é a propriedade `constructor` realmente usada?

Em JavaScript, o object de protótipo de cada function possui um constructor propriedade não enumerável que aponta para a function ( EcmaScript §13.2 ). Ele não é usado em nenhuma funcionalidade nativa (por instanceof , instanceof verifica apenas a cadeia de protótipos), no entanto, somos encorajados a ajustá-lo ao sobrescrever a propriedade prototype de uma […]

Javascript quando usar protótipos

Eu gostaria de entender quando é apropriado usar protótipos em js. Eles devem sempre ser usados? Ou há casos em que usá-los não é preferido e / ou incorre em uma penalidade de desempenho? Ao pesquisar em torno deste site methods comuns para namespacing em js, parece que a maioria usa uma implementação baseada em […]

Método de chamada usando protótipo de JavaScript

É possível chamar o método base de um método protótipo em JavaScript se ele foi substituído? MyClass = function(name){ this.name = name; this.do = function() { //do somthing } }; MyClass.prototype.do = function() { if (this.name === ‘something’) { //do something new } else { //CALL BASE METHOD } };

prototype: escopo profundo de “this” para acessar o escopo da instância

Como o escopo mais superior pode ser armazenado em cache para ser usado mais profundamente no protótipo mais tarde, da seguinte forma: var Game = function(id){ this.id = id; }; Game.prototype = { board : { init: function(){ // obviously “this” isn’t the instance itself, but will be “board” console.log(this.id); } } } var game […]

Como acessar a class interna de assembly externo

Ter um assembly que não posso modificar (fornecido pelo fornecedor) que tenha um método retornando um tipo de object, mas na verdade é de um tipo interno. Como posso acessar os campos e / ou methods do object da minha assembly? Lembre-se de que não posso modificar o assembly fornecido pelo fornecedor. Em essência, aqui […]

Estendendo um Objeto em Javascript

Atualmente estou transformando de Java para Javascript, e é um pouco difícil para mim descobrir como estender objects da maneira que eu quero fazer. Já vi várias pessoas na internet usarem um método chamado extender em object. O código ficará assim: var Person = { name : ‘Blank’, age : 22 } var Robot = […]

Analisar a sequência JSON em um protótipo de object específico em JavaScript

Eu sei como analisar uma String JSON e transformá-lo em um object JavaScript. Você pode usar JSON.parse() em navegadores modernos (e IE9 +). Isso é ótimo, mas como posso pegar esse Objeto JavaScript e transformá-lo em um Objeto JavaScript específico (ou seja, com um determinado protótipo)? Por exemplo, suponha que você tenha: function Foo() { […]

JavaScript: Quais são os perigos em estender o Array.prototype?

O Google JavaScript Style Guide recomenda contra a extensão do Array.prototype . No entanto, usei Array.prototype.filter = Array.prototype.filter || function(…) {…} Array.prototype.filter = Array.prototype.filter || function(…) {…} como uma maneira de tê-lo (e methods similares) em navegadores onde eles não existem. MDN na verdade fornece exemplo semelhante . Estou ciente dos problemas do Object.prototype , […]

Atribuindo methods protótipos * dentro * da function construtora – por que não?

Estilisticamente, eu prefiro essa estrutura: 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; } }; Para esta estrutura: var Filter = function( category, value ){ this.category = category; this.value = value; };// var […]