2016-11-15 7 views
1

申し訳ありませんが、私も非常に初心者でも完全に十分なビデオを見るとstackoverflowを見ても、私の問題(別のオブジェクトで引数を渡す?私のコードを表示するだけです。オブジェクト内のJavaScriptの引数を渡す

var Test1 = function(name,gender,job) { 
    this.name = name; 
    this.gender = gender; 
    this.job = job; 
this.say = function(name ,gender, job){ 
    console.log(" sup "+ name +", goodluck in" + job); 
    } 
} 

これはnew objectです:

var budi = new Test1('Budi', 'male', 'developer'); 
var tono = new Test1('Tono', 'male', 'chef'); 

と私はobjectargumentを渡したい:say()方法で

budi.say(tono); 

答えて

1

あなたはそれが好きsay()

this.say = function(person){ 
    console.log(" sup "+ person.name +", goodluck in" + person.job); 
    } 

のこのimplemenationいずれかを持っているか、呼び出すことができます。

budi.say(tono.name, null, tono.job) 
0

は、メソッドのパラメータ(からnamejobを読みます私の例ではperson):

var Test1 = function(name, gender, job) { 
 
    this.name = name; 
 
    this.gender = gender; 
 
    this.job = job; 
 
    this.say = function(person) { 
 
    console.log("sup " + person.name + ", good luck in " + person.job); 
 
    } 
 
} 
 

 
var budi = new Test1('Budi', 'male', 'developer'); 
 
var tono = new Test1('Tono', 'male', 'chef'); 
 

 
budi.say(tono);

+0

を確認してくださいおかげで、でも私たちはあなたの研究と歓迎:)幸運だT_T –

+0

新しいパラメータを作成することができると思いdidntの。 –

1

をあなたはおそらく代わりに

をしたいです

異なるスコープに同じ名前の引数を付けると、それらは異なる変数とみなされます。このようにすることができます:

var budi = new Test1('Budi', 'male', 'developer'); 
budi.say(); 

これは、コンストラクタで使用した文字列を正しく表示します。

0

。この1

//i change it just for convenient:) 
 
var People = function(name, gender, job) { 
 
    this.name = name; 
 
    this.gender = gender; 
 
    this.job = job; 
 
    /* you want your `say` function to call another People 
 
    so pass People as the arg, Object with name, gender, job, and another say method*/ 
 
    this.say = function(p) { 
 
    /* for string i'd like to use backtick(`) for simplicity and less error phone (ex, space, etc)*/ 
 
    console.log(`sup ${p.name}, goodluck in ${p.job}`); 
 
    } 
 
} 
 

 
var budi = new People('Budi', 'male', 'developer'); 
 
var tono = new People('Tono', 'male', 'chef'); 
 

 
budi.say(tono);

関連する問題