即使我已经定义了变量,当我运行代码时,我仍然收到未定义的错误 JavaScript 对象

问题描述 投票:0回答:1
<!DOCTYPE html>
<html>
    <head>
       <title>
        JavaScript Object
       </title>

    </head>
    <body>
    <h1> Creating javaScript Object</h1>
    <p id="demo"></p>
    <script>
        var student={
            name:'shweta',
            age:'10',
            studies:'CS',
        };
    
    document.getElementById("demo").innerHTML="My name is "+" "+student.name+" and my age is "+student.age+" i studies"+student.studies;
</script>
<!--Creating object using new key word-->
<script>
    var student=new Object();
    student.name='shweta',
    student.age='25',
    student.studies='javascript'
    document.getElementById("demo").innerHTML=student.name+student.age+student.studies;
</script>
<!--Object creation using constructor-->
<script>
    function stud(name, age, studies){
        this.name=name;
        this.age=age;
        this.studies=studies;
    }
    varstudent=stud('Crish',25,'javascript')
    document.getElementById("demo").innerHTML="my name is "+student.name +" of age "+student.age+" studies "+student.studies;
</script>
    </body>
</html>

我正在尝试使用构造函数创建对象,然后访问这些值,但是一旦我运行代码,它就会给我错误

未捕获的类型错误类型错误:无法读取未定义的属性(读取“名称”)

javascript-objects
1个回答
0
投票

必须使用

new
关键字调用构造函数

function Stud(name, age, studies) {
  this.name = name;
  this.age = age;
  this.studies = studies;
}

var student = new Stud('Crish', 25, 'javascript');

document.getElementById("demo").innerHTML = "my name is " + student.name + " of age " + student.age + " studies " + student.studies;
© www.soinside.com 2019 - 2024. All rights reserved.