javascript设置器和获取器
这让我快发疯了!这是我第一次使用setter和getting,我被难住了javascript设置器和获取器,javascript,setter,getter,Javascript,Setter,Getter,这让我快发疯了!这是我第一次使用setter和getting,我被难住了 var Person = function () { var address = setPersonAddress(); this.setPersonAddress = function (a.getFullAddress()) { address = a.getFullAddress(); }; }; var Address = function () { var address = "xyz
var Person = function () {
var address = setPersonAddress();
this.setPersonAddress = function (a.getFullAddress()) {
address = a.getFullAddress();
};
};
var Address = function () {
var address = "xyz";
var city = "xyz";
var state = "NY";
var zip = "56783";
this.fullAddress = function () {
var name = address + ", " + city + ", " + state + ", " + zip;
return name;
};
this.getFullAddress = function () {
return fullAddress();
};
};
var a = new Address();
我正在尝试将fullAddress从Address对象分配给Person对象地址。我是否在SetPersonalAddress中正确引用了getFullAddress?您的代码存在许多问题,您应该使用它来查看语法错误。 此外,您可能还想了解更多关于 然而,以下是您试图实现的目标(我认为): 演示: 我正在尝试将fullAddress from Address对象分配给 个人对象地址。我在中引用getFullAddress是否正确 SetPersonalAddress 但是,这很容易做到,因为您已经有了
地址
值对象,个人
对象封装地址
对象的实例,而不是字符串
从下面的示例中,您可以通过执行
p.getAddress().getFullAddress()
来获取一个人的完整地址。请注意,可以在Person
对象上创建一个getFullAddress
函数成员来封装此逻辑以简化操作。this.setPersonalAddress=function(a.getFullAddress()){
<这没有意义,您可能想要this.setPersonalAddress=function(a){
(var address=setPersonalAddress();
这也没有意义;)@Yoshi是的,我同意这会导致意外的令牌错误。是的,我有一种感觉没有意义。Yoshi的建议也不正确?
function Person(address) {
this.setAddress(address);
}
Person.prototype = {
setAddress: function (address) {
this.address = address;
},
getAddress: function () {
return this.address;
}
};
function Address(fullAddress) {
this.setFullAddress(fullAddress);
}
Address.prototype = {
setFullAddress: function (fullAddress) {
//naive parsing
var addressParts = fullAddress.match(/(.+),(.+),(.+),(.+)/);
this.fullAddress = fullAddress;
this.address = addressParts[1];
this.city = addressParts[2];
this.state = addressParts[3];
this.zip = addressParts[4];
},
getFullAddress: function () {
return this.fullAddress;
}
};
var a = new Address('15 test,Test City,Test State,J9A333'),
p = new Person(a);
console.log(p.getAddress());