SORU
16 Mart 2009, PAZARTESİ


Nasıl __proto__ yapıcı bir farkı var.prototip?

function Gadget(name, color)
{
   this.name = name;
   this.color = color;
}

Gadget.prototype.rating = 3

var newtoy = new Gadget("webcam", "black")

newtoy.constructor.prototype.constructor.prototype.constructor.prototype 

her zaman derece ile nesne = 3 verir

ama eğer yaparsam

newtoy.__proto__.__proto__.__proto__

burada zincir null

Neden bu fark?

Ve IE ne varsa __proto__ bir özellik yok boş olup olmadığını kontrol edin.

CEVAP
28 HAZİRAN 2012, PERŞEMBE


Kafamı son zamanlarda sarmak için çalışıyorum ve sonunda" konu üzerinde tam ışık tutuyor sanırım. "göster bu kadar geldi

http://i.stack.imgur.com/KFzI3.png enter image description here

Birincisi bunu uydurmuyorum ama daha ilginç bulduğun o bulmaktan olduğunu biliyorum :-). Her neyse, bence bu başka bir diyagram örneğin buldum bundan sonra temelde aynı

Javascript object layout

Benim için en şaşırtıcı şey Object.__proto__ Function.prototype yerine Object.prototype, ama iyi bir nedeni olduğuna eminim gösteren keşfetmek oldu :-)

Eğer herkes bunu test etmek istiyorsa kodunu görüntüde sözü burada da yapıştır. Bazı özellikler bazı atlar sonra nerede olduğumuzu bilmek kolay yapmak için: nesneleri eklenir unutmayın

Object.O1='';
Object.prototype.Op1='';

Function.F1 = '';
Function.prototype.Fp1 = '';

Cat = function(){};
Cat.C1 = '';
Cat.prototype.Cp1 = '';

mycat = new Cat();
o = {};

// EDITED: using console.dir now instead of console.log
console.dir(mycat);
console.dir(o);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • Pepsi

    Pepsi

    1 Kasım 2005
  • TechXCentral

    TechXCentral

    12 Temmuz 2011