共享javascript属性
我做了一个简单的物体共享javascript属性,javascript,properties,share,Javascript,Properties,Share,我做了一个简单的物体 var myObject = { formname: $('form'), input: this.formname.find('input'), init: function() { console.log(myObject.input) } } myObject.init() 但这是行不通的。我想在name2属性中使用我的name属性。 共享属性的最佳方法是什么? 我必须改用prototype吗?您的目标是用相同的“name”值初始化“name2”。因此,
var myObject = {
formname: $('form'),
input: this.formname.find('input'),
init: function() {
console.log(myObject.input)
}
}
myObject.init()
但这是行不通的。我想在name2属性中使用我的name属性。
共享属性的最佳方法是什么?
我必须改用prototype吗?您的目标是用相同的“name”值初始化“name2”。因此,最好的方法是将其放在“init”方法中:
var myObject = {
name: 'Johan',
name2: function(){return this.name},
init: function() {
console.log(this.name2())
}
}
或者如果您坚持在标题中指定属性的值。然后,您必须遵循以下方法:
name2: function(){ return this.name }
这只是一个例子。我想问题是,如何共享一个对象的属性?拥有一个函数,仅仅共享一个值似乎有点过分。@Johansrk我可能错了,但这似乎是实现您要求的最简单的方法。另一种选择是Hatem在初始化时设置属性时提到的。你到底想达到什么目的?名字:“Johan”,名字2:this.name即使它工作起来也像是无用的代码。如果能共享一个选择器就好了。见我的编辑code@Johansrk是的,我还是简单地用一个函数包装并返回。这将允许您根据需要返回选择器。我不认为这是一种过度的杀伤力,因为替代方案更加混乱。
name2: function(){ return this.name }