2013-12-13 238 views
-3

我试图创建一个包含数组和打印数组的对象,试图打印一个对象,当我尝试运行这段代码时,在控制台中出现错误 - 缺少语法错误;附近的 “变种人-1”JavaScript创建一个对象来打印一个数组对象

错在这里
<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
     </script> 
     <script> 
      $(document).ready(function(){ 
       function person(fname,lname,kids){ 
        this.firstname = fname; 
        this.lastname = lname; 
        this.kids = kids; 
        this.displaykids = function displaykids(){ 
         this.kids.forEach(function(kid){ 
          console.log(kid); 
         }) 
        } 
       } 
       var person-1 = person('Bob','Marley',['Bill','Mike','Tom']) 
       console.log(person.firstname) 
      }) 
     </script> 
    </head> 
    <body> 
     This is the body 
    </body> 
</html> 
+5

你不能有一个'-'变量名。附:那应该是'新人'('Bob',...'。 –

+0

谢谢......我修好了但仍然在打印person.firstname..it时打印undefined .. – user1050619

+1

'person'是班级的名字,不是你的实例,你需要给你的实例命名一些其他名称并使用该变量名称。 –

回答

1
var person-1 = person('Bob','Marley',['Bill','Mike','Tom']) 

两件事情。其中一个:变量中不能有-。二:你忘了new

它应该是:

var person1 = new person('Bob','Marley',['Bill','Mike','Tom']); 
console.log(person1.firstname);