Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享javascript属性_Javascript_Properties_Share - Fatal编程技术网

共享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 }