一段时间以来,我一直在尝试使用 javascript,但我希望它是“面向对象的”,因此我尝试在不同的文件中创建不同的 javascript 类,并尝试创建一个对象并在其中调用它的方法一个不同的文件功能,但它似乎不起作用。
这是我目前所拥有的:
人.js
function Person(name, age, gender)
{
this.age = age;
this.name = name;
this.gender = gender;
this.job;
this.setJob = function(job)
{
this.job = job;
}
this.getAge = function()
{
return this.age;
}
this.getName = function()
{
return this.name;
}
this.getGender = function()
{
return this.gender;
}
}
工作.js
function Job(title)
{
this.title = title;
this.description;
this.setDescription = function(description)
{
this.description = description;
}
}
主.js
function main()
{
var employee = new Person("Richard", 23, male);
document.getElementById("mainBody").innerHTML = employee.getName();
}
index.html
<!DOCTYPE HTML>
<HTML>
<head>
<title>javascript test</title>
<script src="main.js" type="javascript"></script>
</head>
<body>
<p id="mainBody"></p>
</body>
</HTML>
如有任何帮助或建议,我们将不胜感激。
非常感谢
编辑: 非常感谢所有的答案和建议,但是,我已经包含了我所有的 javascript 文件,但它仍然不起作用......
最佳答案
目前 JavaScript 还不够聪明,无法在没有帮助的情况下找到您的依赖项。
你需要:
<!DOCTYPE HTML>
<HTML>
<head>
<title>javascript test</title>
<script src="person.js" type="javascript"></script>
<script src="Job.js" type="javascript"></script>
<script src="main.js" type="javascript"></script>
</head>
<body>
<p id="mainBody"></p>
</body>
</HTML>
注意:
如果你想按需加载依赖项,那么你可以使用 AMD (异步模块定义)与 requirejs或其他东西。
使用 AMD,您可以定义如下内容:
define(['Job', 'person'], function (job, person) {
//Define the module value by returning a value.
return function () {};
});
define 方法接受两个参数:依赖项和定义模块的函数。 加载所有依赖项后,它们将作为参数传递给模块定义所在的函数。
还有一件事需要注意,Person
和 Job
不是类。它们只是根据定义中的规则生成对象的函数(构造函数)。
关于javascript - 从不同的文件创建 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14335526/