基本构造器 - 入门级 Javascript
Basic Constructors - Entry Level Javascript
我无法阻止 运行 遇到此代码的问题。我认为我正在做一些非常错误的事情,而且我认为询问知道自己在做什么的人是最好的做法。
实际 "problem" 或任务是创建一个简单的电视 object。它具有三个特点。做一个。叫它。显示所有特征。那就大功告成了。
我声明变量并创建构造函数。根据作业规则,这两个东西都必须保留在文档的 header 中。
接下来是body。我想用这些参数创建一个名为 myTV 的新电视 object。我创建了一个函数来召回数据。然后我主动把数据回调回来
在某处,我遇到了逻辑问题、可能的语法问题,谁知道还有什么问题。盯着同一个代码看了这么久,我的心都快晕了,所以我要喝点东西,然后在 15 点回来查看。呃。
<html>
<head>
<script type="text/javascript">
var manuTV;
var sizeTV;
var priceTV;
function Television(manu, size, price){
this.manuTV = manu;
this.sizeTV = size;
this.priceTV = price;
}
</script>
</head>
<body>
<script type="text/javascript">
var myTV = new Television("Sony", 52, 999);
function DisplayInfo(){
document.write("Television Manufacturer: " + this.manuTV + "<br />");
document.write("Size(in inches)" + this.sizeTV + "<br />");
document.write("Price:" + this.priceTV + "<br />");
}
myTV.displayInfo();
</script>
</body>
</html>
您的 DisplayInfo
方法与您的 Television
没有任何关系。您可以做两件简单的事情来让它发挥作用。您可以将 DisplayInfo
添加到 Television
的原型中。
Television.prototype.displayInfo = function(){
document.write("Television Manufacturer: " + this.manuTV + "<br />");
document.write("Size(in inches)" + this.sizeTV + "<br />");
document.write("Price:" + this.priceTV + "<br />");
}
这会将方法添加到 Television
的原型中,因此任何 Television
都可以使用它 (tv.displayInfo()
)。你也可以这样做:
function displayInfo(tv){
document.write("Television Manufacturer: " + tv.manuTV + "<br />");
document.write("Size(in inches)" + tv.sizeTV + "<br />");
document.write("Price:" + tv.priceTV + "<br />");
}
将 Television
对象传递给 DisplayInfo
,(请参阅添加到方法签名的参数),然后使用 tv
而不是 this
。然后像这样调用函数:
displayInfo(myTv);
我无法阻止 运行 遇到此代码的问题。我认为我正在做一些非常错误的事情,而且我认为询问知道自己在做什么的人是最好的做法。
实际 "problem" 或任务是创建一个简单的电视 object。它具有三个特点。做一个。叫它。显示所有特征。那就大功告成了。
我声明变量并创建构造函数。根据作业规则,这两个东西都必须保留在文档的 header 中。
接下来是body。我想用这些参数创建一个名为 myTV 的新电视 object。我创建了一个函数来召回数据。然后我主动把数据回调回来
在某处,我遇到了逻辑问题、可能的语法问题,谁知道还有什么问题。盯着同一个代码看了这么久,我的心都快晕了,所以我要喝点东西,然后在 15 点回来查看。呃。
<html>
<head>
<script type="text/javascript">
var manuTV;
var sizeTV;
var priceTV;
function Television(manu, size, price){
this.manuTV = manu;
this.sizeTV = size;
this.priceTV = price;
}
</script>
</head>
<body>
<script type="text/javascript">
var myTV = new Television("Sony", 52, 999);
function DisplayInfo(){
document.write("Television Manufacturer: " + this.manuTV + "<br />");
document.write("Size(in inches)" + this.sizeTV + "<br />");
document.write("Price:" + this.priceTV + "<br />");
}
myTV.displayInfo();
</script>
</body>
</html>
您的 DisplayInfo
方法与您的 Television
没有任何关系。您可以做两件简单的事情来让它发挥作用。您可以将 DisplayInfo
添加到 Television
的原型中。
Television.prototype.displayInfo = function(){
document.write("Television Manufacturer: " + this.manuTV + "<br />");
document.write("Size(in inches)" + this.sizeTV + "<br />");
document.write("Price:" + this.priceTV + "<br />");
}
这会将方法添加到 Television
的原型中,因此任何 Television
都可以使用它 (tv.displayInfo()
)。你也可以这样做:
function displayInfo(tv){
document.write("Television Manufacturer: " + tv.manuTV + "<br />");
document.write("Size(in inches)" + tv.sizeTV + "<br />");
document.write("Price:" + tv.priceTV + "<br />");
}
将 Television
对象传递给 DisplayInfo
,(请参阅添加到方法签名的参数),然后使用 tv
而不是 this
。然后像这样调用函数:
displayInfo(myTv);