使用现有对象属性创建javascript对象

Creating a javascript object using existing object property

本文关键字:对象 属性 javascript 创建      更新时间:2023-09-26

好的,我不确定标题的措辞是否正确,我真的无法将我试图做的事情描述为标题。

我正在为我的工作编写一个插件,我有一个在对象文字符号中指定的路径,比如

var options = {
    jwPath: "/jwplayer/",
    mediaPath: "/media/",
    skin: "",
    fileName: "mms"
};

所以我有我的选择,接下来我试图使用其中一些参数将插件加载到jwplayer中,但这些参数不起作用,这可能只是我看得太多了,但我试图通过以下加载插件

plugins : {
    options.jwPath + 'plugins/hd/hd.js' : {
        file: options.mediaPath + options.fileName + '-hd.mp4'
    }
}

我一直在代码的options.jwPath部分遇到错误。有什么想法吗?只是我忽略了一些小东西吗?

你不能那样做:

var options = {
    jwPath: "/jwplayer/",
    mediaPath: "/media/",
    skin: "",
    fileName: "mms"
};
var plugins = {};
plugins[options.jwPath + 'plugins/hd/hd.js'] = {
    file: options.mediaPath + options.fileName + '-hd.mp4'
};

但是括号表示法会起作用。

创建对象文字时,不能将表达式用于属性名称。而是使用tmpobj = {},然后添加tmpobj[options.jwPath+'plugins/hd/hd.js'] = {file:....};。最后,使用plugins:{tmpobj}