我将如何在对象本身中引用 JavaScript 哈希键?例如,我希望能够真正使用“主题”键。我会使用“this”来引用“主题”吗?
window.EXAMPLE = {
config : {
theme: 'example',
image_path: '/wp-content/themes/' + this.theme + '/img/',
}
}
我将如何在对象本身中引用 JavaScript 哈希键?例如,我希望能够真正使用“主题”键。我会使用“this”来引用“主题”吗?
window.EXAMPLE = {
config : {
theme: 'example',
image_path: '/wp-content/themes/' + this.theme + '/img/',
}
}
您可以使用一种方法:
window.EXAMPLE = {
config : {
theme: 'example',
image_path: function () {
return '/wp-content/themes/' + this.theme + '/img/';
},
}
}
当然,那么您必须通过以下方式访问它EXAMPLE.config.image_path()
您可能不应该在window
任何一个上定义事物,而只使用当前范围。
唯一的方法是使用函数:
例如
windows.EXAMPLE {
config : {
theme: 'blah',
image_path: function () { return '/path/to' + this.theme }
}
}
Without using a function, you have to split it into two separate assignments:
window.EXAMPLE = {
config : {
theme: 'example'
}
};
window.EXAMPLE.config.image_path = '/wp-content/themes/' + window.EXAMPLE.config.theme + '/img/';
在构造一个对象时(不是像 Kyle 的示例所给出的那样一旦创建),我认为不可能访问该对象的属性,因为它还不“存在”,除非您使用函数或一些花哨的东西。
我也认为没有理由这样做,因为您可以只输入"example"
值image_path
,也可以在定义之前创建一个变量以充当“配置”常量:
var CONF_THEME = 'example';
window.EXAMPLE = {
config : {
theme: CONF_THEME,
image_path: '/wp-content/themes/' + CONF_THEME + '/img/'
}
}