SORU
24 ŞUBAT 2012, Cuma


Neden değil't bu başka bir şey atarken başvurusu tarafından geçirilen nesne?

JS, nesneler, örneğin: başvuru tarafından geçirilen biliyorum

function test(obj) {
    obj.name = 'new name';
}

var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // new name

Ama neden işin altında değil:

function test(obj) {
    obj = {};
}

var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // foo

{} (boş) nesne ayarları yaptım ama hala foo diyor.

Herhangi biri bunun mantığını açıklayabilir mi?

CEVAP
24 ŞUBAT 2012, Cuma


Eğer işaretçiler hakkında bilginiz varsa, o bir benzetme. Aslında bir işaretçi geçirmeden, obj.someProperty Bu özellik için başvuru ve obj işaretçiyi öldürmek ve nesne üzerine değil ki sadece öncelikli olsa da aslında bu geçersiz olur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • LatinNinja99

    LatinNinja99

    28 EKİM 2011
  • wolfys you tube

    wolfys you t

    22 Kasım 2006