以下工作并做我需要的。但是,有没有更好的方法来引用“c:”中的“a”和“b”?
<html>
<head>
<script type="text/javascript">
var bar;
function Foo() {}
Foo.prototype = {
a: 1,
b: 2,
c: function() {
return Foo.prototype.a + Foo.prototype.b;
}
}
bar = new Foo();
console.log('c is: ' + bar.c());
</script>
</head>
<body>
<button onclick="document.write('c is: ' + bar.c())">Try it</button>
</body>
</html>
答案 0 :(得分:0)
c: function() {
return this.a + this.b;
}
答案 1 :(得分:0)
当您创建Foo的新对象时,构造函数中的属性和通过原型添加的属性可以在具有this
字的对象上下文范围中进行访问。
(function() {
var bar;
function Foo() {
//Constructor function properties and methods
}
//Protoytpe methods and properties
Foo.prototype = {
a: 1,
b: 2,
c: function() {
return this.a + this.b;
}
}
bar = new Foo();
console.log('c is: ' + bar.c());
})();
有关原型如何工作的更多信息,请查看以下内容: How does JavaScript .prototype work?