初学者Javascript建议

时间:2015-10-26 15:20:04

标签: javascript

我是Javascript的新手,我无法理解为什么我的代码不打印。我接受用户输入,它应该打印到文本框;有人可以帮忙吗?

原谅我的无知,我是一个完全新手。

这是我的代码:

var $ = function(){
    return document.getElementById(arguments[0]);
}
var protoStudent = {
    college: "Athlone Institute of Technology",
    course: "BSc (Hons) Software Design (Cloud computing)"
}
var createStudent = function(id, name, age){
    var student = object.create(protoStudent);
    student.id = id;
    student.name = name;
    student.age = age;

    student.showDetails = function(){
        return this.id + "\t" + this.name + "\t" + this.age + "\n";
    }
    return student;
}
var studentArray = [];
var addStudent = function(){
    var id = $("studentID"). value;
    var name = $("studentName").value;
    var age = $("studentAge").value;

    student = new createStudent(id, name, age);

    studentArray[studentArray.length] = student;
    showStudent();
}
var showStudent = function(){
    var string = "ID" + "\t" + "Name" + "\t" + "Age" + "\n";
    for (var i in studentArray){
        string += studentArray[i].showDetails();
    }
    $("output").value = string;
}
window.onload = function(){
    $("add").onclick = addStudent;
}

html是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Student Register</title>
    <link rel="stylesheet" type="text/css" href="StudentRegister.css" />
    <script type="text/javascript" src="StudentRegister.js"></script>
    <script type="text/javascript" src="shortcuts.js"></script>
</head>
<body> 
    <div id="content">
        <h1>Student Register</h1>

        <label for="studentID">Student ID:</label>
        <input  type="text" 
                id="studentID" 
                value="enter student ID here" 
                onfocus="this.value=''" /><br />

        <label for="studentName">Student name:</label>
        <input  type="text" 
                id="studentName" 
                value="enter student name here" 
                onfocus="this.value=''" /><br />

        <label for="studentAge">Student age:</label>
        <input  type="text" 
                id="studentAge" 
                value="enter student age here" 
                onfocus="this.value=''" /><br />

        <br />
        <label>&nbsp;</label>
        <input  type="button" 
                id="add" 
                value="Add" /><br />
        <textarea id="output" rows="10" cols="60"></textarea>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

当我测试您的代码时,浏览器立即给了我这个错误:

  

未捕获的ReferenceError:未定义对象。 test.php第15行

看第15行,你有:

var student = object.create(protoStudent);

但是,作为区分大小写的语言,您需要:

var student = Object.create(protoStudent);

Javascript无法识别您对'object'的调用,因为只有'Object'被识别为具有create方法。

我测试了,这对我有用。

编辑:进一步思考,你应该查看jQuery,这样你就不必为自己声明$。