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

  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • Truc Minh

    Truc Minh

    23 Ocak 2011
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012