2016-04-05 15 views
0

Javascript'te yeni ve parametreyi bir nesne aracılığıyla göndermek istiyorum. Ayrıca nesnelerimi oluşturmaya çalıştım ama maalesef işe yaramadı. İşte kod: Ben obj('foo').bar(); çağırdığınızdaNesne Yoluyla Parametre Gönderme

var obj = (function(foo) { 

    var str = foo; 

    var bar = function() { 
     alert(this.str+" Bar"); 
    } 

})(); 

, bunu foo Bar üretmek istiyoruz. Bu nasıl yapılır?

var obj = function(foo) { 
 
    return { 
 
    bar: function() { 
 
     alert(foo + ' Bar'); 
 
    } 
 
    } 
 
} 
 

 
obj('foo').bar();

EDIT:

cevap

2

Bu sorunu çözmek gerekir Hatta "Çalıştır kodu snippent" kullanabilirsiniz bunu test etmek için :) çözümün

0

vardır ton için senin durumun. En sevdiğim birini vereceğim.

var obj = function(foo) { 
 
    if (!(this instanceof obj)) { 
 
    return new obj(foo); 
 
    } 
 
    this.str = foo; 
 
} 
 
obj.prototype.bar = function() { 
 
    alert(this.str + " Bar"); 
 
}; 
 
obj('foo').bar(); 
 
//or 
 
new obj('foo').bar();

+0

Yardımlarınız için teşekkür eder, size daha iyi bir çözüm sunmak eminim. ama 2. hat yürütüldüğünde? ve obj.prototype nedir? hiçbir zaman ilan etmediniz – Mdkusuma

+0

@Mdkusuma 'new (' foo ') 'anahtar kelimesini' new' anahtar kelimesi olmadan çağırdığınızda. Prototip nesnesi hakkında daha fazla bilgi için [bu makaleyi] okuyabilirsiniz (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype). – Lewis

İlgili konular