如何在对象本身内引用JavaScript哈希键?例如,我希望能够实际使用"主题"键。我会使用"这个"参考"主题"?
window.EXAMPLE = {
config : {
theme: 'example',
image_path: '/wp-content/themes/' + this.theme + '/img/',
}
}
答案 0 :(得分:6)
您可以使用方法:
window.EXAMPLE = {
config : {
theme: 'example',
image_path: function () {
return '/wp-content/themes/' + this.theme + '/img/';
},
}
}
当然,您必须通过EXAMPLE.config.image_path()
您可能不应该在window
上定义内容,只使用当前范围。
答案 1 :(得分:3)
唯一的方法是使用函数:
e.g。
windows.EXAMPLE {
config : {
theme: 'blah',
image_path: function () { return '/path/to' + this.theme }
}
}
答案 2 :(得分:2)
不使用函数,您必须将其拆分为两个单独的赋值:
window.EXAMPLE = {
config : {
theme: 'example'
}
};
window.EXAMPLE.config.image_path = '/wp-content/themes/' + window.EXAMPLE.config.theme + '/img/';
答案 3 :(得分:1)
当构造一个对象时(不是像Kyle的例子那样创建它),我认为不可能访问对象的属性,因为它还没有“存在”,除非你使用函数或一些花哨的东西
我也认为没有理由这样做,因为您可以在"example"
值中输入image_path
,或者您可以在定义之前创建变量以充当“配置” “常数:
var CONF_THEME = 'example';
window.EXAMPLE = {
config : {
theme: CONF_THEME,
image_path: '/wp-content/themes/' + CONF_THEME + '/img/'
}
}