2017-03-05 27 views
-3

の年を与えられたが、ユーザーにオブジェクトの内容を警告しようとしています、最初の3つは機能付き表示が、機能の年齢の一部ではない、Javascriptを計算年齢Javascriptを学んで誕生

<!DOCTYPE html> 
 
    <html lang="en"> 
 
\t <head> 
 
\t \t <script> 
 
\t \t \t var person = {fname: "Asha",lname: "Juma",dob: 2005,age:function(){(new Date().getFullYear() - this.dob);}}; 
 

 
\t \t \t function print() { 
 
\t \t \t \t alert(JSON.stringify(person)); 
 
\t \t \t } 
 
\t \t </script> 
 
\t </head> 
 
\t <body> 
 
\t \t <p>Lets hit this button to alert the user of the person object contents</p> 
 
\t \t <button onclick=print()>Click Me!</button> 
 
\t \t 
 
\t </body> 
 
    </html>

を支援してくださいオブジェクトリテラルで
+0

、あなたは 'age'関数のコード、またはそれへの呼び出しの結果を見ることを期待していますか? – simbabque

+0

年齢のような結果:12 – Developer

答えて

3

は、あなたがそれを持っているように、これは動作するはずです:

var person = {fname: "Asha",lname: "Juma",dob: 2005,age:(new Date().getFullYear() - 2005)}; 

あなただけで作業しようとしている場合単体オブジェクトの場合、オブジェクトリテラルは良好ですが、生年年を2回置く必要があります。

多くの人を作成する場合は、コンストラクタ関数を使用します。

function Person(fname,lname,dob){ 
    this.fname = fname; 
    this.lname = lname; 
    this.dob = dob; 
} 
Person.prototype.age = function(){ 
    this.age = new Date().getFullYear() - this.dob; 
} 

var person = new Person('First','Last',2004); 

プロトタイプを使用すると、Personの各インスタンスにメソッドの経過時間を追加できます。

学習している場合は、console.logメソッドを使用してWebインスペクタに出力を表示してみてください。たとえば、次のようにオブジェクトがまだ作成されていないため

console.log(person); 
+0

オブジェクトリテラルが私に「年齢」を与えています:null – Developer

+0

@Developer - それについては残念です - コードを更新しました – user2182349

1

あなたはthis.dobプロパティにアクセスすることはできません。 以下のコードを確認してください。あなたの出力で

<!DOCTYPE html> 
 
    <html lang="en"> 
 
\t <head> 
 
\t \t <script> 
 
\t \t \t var person = {fname: "Asha",lname: "Juma",dob: 2005}; 
 
     person.age = (new Date().getFullYear()-person.dob); 
 

 
\t \t \t function print() { 
 
\t \t \t \t alert(JSON.stringify(person)); 
 
\t \t \t } 
 
\t \t </script> 
 
\t </head> 
 
\t <body> 
 
\t \t <p>Lets hit this button to alert the user of the person object contents</p> 
 
\t \t <button onclick=print()>Click Me!</button> 
 
\t \t 
 
\t </body> 
 
    </html>

関連する問題