定义对象时从foo获取值到bar
getting value from foo into bar when defining object?
好的,这里有一个简单的测试对象:
var test = {
foo: "dude",
bar: "ok " + foo
}
正如您所看到的,我想在这里的bar中使用foo,但它是未定义的。
我也试过
bar: "ok " + test.foo
但测试也是未定义的,这有点道理,因为当我这样做的时候,我还没有定义它。。。
我知道我能做这个
var test = {
foo: "dude"
}
test.bar = "ok " + test.foo
但它并没有那么漂亮,我必须在测试对象的"外部"定义它。
有可能做我想做的事吗?还是最后一种方法是唯一的方法?
将其转换为方法:
bar: function() { return "ok " + this.foo ;}
Fiddle:http://jsfiddle.net/8xqGL/
假设我们不能更改代码的结构,那么您必须在test
对象之外定义一些东西。但IMHO最好这样做:
var foo = "dude";
var test = {
foo: foo,
bar: "ok " + foo
};
简短的回答是"不,没有其他方法可以做你想做的事"。但是,您可能需要考虑使用闭包。
var test = (function () {
var foo, bar;
foo = "dude";
bar = "ok " + foo;
return {
foo: foo,
bar: bar
}
}());
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 定义对象时从foo获取值到bar