2017-02-02 16 views
1

JavaScriptを学習しています。私は以下のコードを試して、私はオブジェクトの値が未定義であると見ています。私は最後のコンソールステートメントがオブジェクトvのすべての値を印刷することを期待しています。私の期待は、このステートメントv.sampleFunction()は "指定されたStringはサンプルStringのサンプルストリング"を返します。そして、私はv.valuesを使用して同じものを印刷できると思った。私がこれを間違ってやっているところに私に助言してください。オブジェクトの値は定義されていません

var r; 
 
var v = new Object(); 
 

 
(function() { 
 
    // function 1 
 
    function s(sampelString) { 
 
     var t = "The given String is "+sampelString; 
 
\t return (t); 
 
    } 
 
    r = s("Sample Text"); 
 
    
 
    // Adding SampleFunction to v 
 
    v.samepleFuntion = function() { 
 
     s("Sample String Sample String"); 
 
    } 
 
})(); 
 
v.samepleFuntion(); 
 
console.log("The values in r==="+r); 
 
console.log("The values in v==="+v.values);

+0

の値を返す必要があります。あなたは何を達成しようとしていますか?どこでどのようにエラーが発生していますか? – Utkanos

+0

あなたはコードが何を期待しているかを言うのは本当に難しいです、そして、なぜそれがそのように書かれたのかはまったく明らかではありません。 – Pointy

+5

あなたは 'v.values'をどこにも定義していないので?それが立っているので、 'v'はプロパティ' values'(これはあなたが出力しようとしているものです)を与えられていないので、未定義です。 –

答えて

5

あなたは、より具体的にしてください関数呼び出し

return s("Sample String Sample String"); 
//^^^^ 

var r, 
 
    v = new Object(); 
 

 
(function() { 
 
    // function 1 
 
    function s(sampelString) { 
 
     var t = "The given String is "+sampelString; 
 
     return (t); 
 
    } 
 
    r = s("Sample Text"); 
 
    
 
    // Adding SampleFunction to v 
 
    v.samepleFuntion = function() { 
 
     return s("Sample String Sample String"); 
 
     //^^^^ 
 
    } 
 
})(); 
 

 
console.log("The values in r==="+r); 
 
console.log(v.samepleFuntion()); 
 

 
console.log(Object.values(v));

+0

v.values()を使用して同じことを行うにはどうすればよいですか? –

+0

'v.values'に割り当てられた関数が必要です。 –

+0

私が言ったことは、この声明は私に何かを返しますか? console.log(Object.values(v)); –

関連する問題