我正在尝试学习如何使用 javascript 原型创建和使用 javascript 属性和方法,但遇到了一些困难。
在下面的代码中,我尝试创建一个名为“radius”的简单对象,其半径为 4,并具有一个名为“getCircumference”的方法,该方法使用对象“半径”值生成周长。
function radius()
{
this = 4;
}
function getCircumference()
{
var pi = 3.141592;
var circumference = this.value * 2 * pi;
document.write(circumference);
}
radius.prototype.circumference = getCircumference;
radius.circumference();
如果有人可以向我展示如何使该代码工作,更好的是,如何使该代码允许输入任何半径并在每次调用新方法时返回周长。谢谢!
您的代码在技术上和概念上都存在一些问题。
在技术方面,你不能分配给this
。将该行更改为this.value = 4
并将其与pst的建议 https://stackoverflow.com/questions/4653472/how-do-i-properly-code-a-javascript-property-and-method-using-the-prototype-fun/4653491#4653491(将最后一行更改为(new radius()).curcumference()
)并且我相信您的代码将按原样运行。
从概念上讲,考虑一个可能更有用circle作为一个对象和作为having半径而不是将半径本身视为一个对象。尝试这个:
// traditionally, class name are TitleCased
function Circle(radius) {
this.radius = radius;
}
Circle.prototype = {
circumference: function() {
return this.radius * 2 * Math.PI;
}
};
var circle = new Circle(4);
document.write(circle.circumference());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)