0

30 分前にオブジェクト リテラル表記でメソッドを作成することについて質問しました。良い答えが得られましたが、コードにまだ何か問題があります。新しい質問を作成するように言われましたが、ここにあります。コードを効率で判断しないでください。1つの機能を実行できるときに、各オブジェクトで多くのバイオメソッドを3回使用したことは知っていますが、オブジェクト、機能、メソッドについてより理解するためにそれを行いました。

だからここに私のコードがあります。

var object1 = new Object()
object1.name = "Neymar";
object1.age = 22;
object1.club = "Barca";
object1.bio = function (){
    console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
};
var object2 = {
name: "Fred",
age: 28,
club: "Fluminense"
bio2: function (){
    console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
    };
};
var object3 = {
name: "Hulk",
age: 27,
club: "Zenit St. Petersburg"
bio3: function (){
    console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
    };
};
object1.bio();
object2.bio2();
object3.bio3();

CodeAcademy によると、12 行目に } がありません: bio2: function (){

4

4 に答える 4

2

前のプロパティの後にコンマを置くのを忘れたので、リテラルの終わりと見なされました。多分expected ',' or '}'もっと良いメッセージだったでしょう。また、オブジェクト リテラル内に行区切り文字 (セミコロン) を入れることはできません。そのはず

var object2 = {
    name: "Fred",
    age: 28,
    club: "Fluminense",
//                    ^
    bio2: function() {
        console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
    }
//   ^
};
var object3 = {
    name: "Hulk",
    age: 27,
    club: "Zenit St. Petersburg",
//                              ^
    bio3: function() {
        console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
    }
//   ^
};
于 2013-07-05T11:29:52.313 に答える
2

,あなたは後club: "Fluminense"を忘れてclub: "Zenit St. Petersburg"

于 2013-07-05T11:30:21.510 に答える
2

オブジェクトは次のようになります。

var object2 = {
   name: "Fred",
   age: 28,
   club: "Fluminense",
   bio2: function (){
      console.log(this.name +" is "+ this.age + " years old and he is playing in "+ this.club);
   }
};

jsオブジェクトにセミコロンを使用することはありません-とにかくそれを持っていましたが、オブジェクトの最後の項目にもコンマを付けるべきではありません-IEでは壊れます

また、前の行のコンマを忘れましたfunction

簡単なヒント。javascript をデバッグする場合、上記の行からエラーが発生する可能性があります。http://jsfiddle.net にアクセスして、組み込みの jsHint ツールを使用することをお勧めます。

于 2013-07-05T11:31:17.910 に答える