Javascript 使用函数设置变量
我想使用以下函数setDef()设置一个变量 我的例子不起作用。我该怎么办Javascript 使用函数设置变量,javascript,jquery,Javascript,Jquery,我想使用以下函数setDef()设置一个变量 我的例子不起作用。我该怎么办 var defs = { title: document.title, action: "pageview" }; var setDefs = function(a,b) { defs.a= b; // this: defs.title = b; is working. }; setDefs("title","test");
var defs = {
title: document.title,
action: "pageview"
};
var setDefs = function(a,b) {
defs.a= b; // this: defs.title = b; is working.
};
setDefs("title","test");
使用括号表示法,
对象[变量]
,而不是:
var setDefs = function(a,b) {
defs[a] = b;
};
此外,在对象中包含此方法更合适:
var defs = {
title: document.title,
action: "pageview",
setDefs: function(a,b) {
this[a] = b;
}
};
defs.setDefs("title","test");
// > defs
// Object {title: "test", action: "pageview", setDefs: function}
谢谢你的提示,好主意。但是如果我把它包括在内,我就不能改变一个现存的汉堡,你是什么意思?使用原始代码,它只能向defs对象添加属性;将覆盖defs对象的“原点”属性。但是如果我考虑一下你关于在对象中包含setDefs的建议,它也会这样做。