如果要动态使用全局函数和变量,可以使用:
window[functionName](window[varName]);
是否可以对本地范围内的变量执行相同的操作?
这段代码可以正常工作,但是目前使用eval,我正在尝试其他方法。
var test = function(){
//this = window
var a, b, c; //private variables
var prop = function(name, def){
//this = window
eval(name+ ' = ' + (def.toSource() || undefined) + ';');
return function(value){
//this = test object
if ( !value) {
return eval('(' + name + ')');
}
eval(name + ' = value;')
return this;
};
};
return {
a:prop('a', 1),
b:prop('b', 2),
c:prop('c', 3),
d:function(){
//to show that they are accessible via to methods
return [a,b,c];
}
};
}();
>>>test
Object
>>>test.prop
undefined
>>>test.a
function()
>>>test.a()
1 //returns the default
>>>test.a(123)
Object //returns the object
>>>test.a()
123 //returns the changed private variable
>>>test.d()
[123,2,3]
不,就像新月说的那样。在下面,您可以找到一个示例,该示例说明如何在不使用eval的情况下但使用内部私有对象进行实施。
var test = function () {
var prv={ };
function prop(name, def) {
prv[name] = def;
return function(value) {
// if (!value) is true for 'undefined', 'null', '0', NaN, '' (empty string) and false.
// I assume you wanted undefined. If you also want null add: || value===null
// Another way is to check arguments.length to get how many parameters was
// given to this function when it was called.
if (typeof value === "undefined"){
//check if hasOwnProperty so you don't unexpected results from
//the objects prototype.
return Object.prototype.hasOwnProperty.call(prv,name) ? prv[name] : undefined;
}
prv[name]=value;
return this;
}
};
return pub = {
a:prop('a', 1),
b:prop('b', 2),
c:prop('c', 3),
d:function(){
//to show that they are accessible via two methods
//This is a case where 'with' could be used since it only reads from the object.
return [prv.a,prv.b,prv.c];
}
};
}();
问题内容: 我无法连接到以nginx入口运行的应用程序(Docker桌面赢10)。 nginx- ingress控制器容器正在运行,应用程序运行良好,并且我已经创建了一个入口。但是,当我尝试连接到本地主机上的应用程序时,出现“连接被拒绝”的提示。 我在日志中看到此错误: 我认为端口443已由其他应用程序使用,可能是zscaler安全性或skype。摘录自: 我不知道如何使入口工作。请帮忙! 我的入
问题内容: 在Angular2中,您可以在其中有一个文件夹/ data /和一个json文件,并且可以在localhost:4200 / data / something.json中访问它。 在Angular4中不再可能。 任何想法如何使其起作用? 问题答案: 您可以使用此代码 这是您的本地json文件。 另请参阅angular-cli的changlog路径 https://github.com/
问题内容: 假设我创建了一个类的实例,并想为其公共属性分配一些值。通常,这将是这样完成的: 但是,如果编写一个将类作为参数的函数,而我想动态地为该类的公共属性分配一些值,那就是通过变量和循环(不知道有多少个或被称为什么)。 ) 显而易见的是: 但这是行不通的。 有任何想法吗? 问题答案:
这是我想做的一个非常简单的例子。这些数组是用服务器端代码生成的,我不知道哪些数组会在那里,除了它们总是‘array’后面跟一个数字。 用户从select-1中选择一个选项 然后我需要我的函数访问相应于select-1值的正确数组。在select-1中出现的每个选项都将有一个相应的数组。 如何编写函数以从正确的数组中获取值?我需要一些类似的东西 但我不知道怎么从这里到那里。 下面是一把实验用的小提琴
问题内容: 我有一个化简器,为了计算新状态,我需要操作中的数据以及该化简器未管理的部分状态数据。具体来说,在下面将显示的减速器中,我需要访问该字段。 initialState.js: FormsReducer.js: index.js(根减速器): 如何访问此字段? 问题答案: 我将为此使用thunk,这是一个示例: 基本上,您会获得操作所需的所有数据,然后可以将该数据发送到减速器。