Javascript 如何将大量外部变量自动设置为给定值?
我有一个有趣的问题,这让我有点困惑。非常感谢您的帮助 基本情况如下。我正在编写一个通用脚本文件Javascript 如何将大量外部变量自动设置为给定值?,javascript,Javascript,我有一个有趣的问题,这让我有点困惑。非常感谢您的帮助 基本情况如下。我正在编写一个通用脚本文件general.js,用于大量网页,每个网页都有自己的关联脚本文件pageN.js。这些pageN文件中的每个文件都包含大量变量t1,…,tn,每个页面的n个变量不同。(通常n在50到100之间。) 在general.js中,我有一个“lightswitch”功能: function onOff(t,binaryDigit){ if ( binaryDigit == 0 ) { // hide g
general.js
,用于大量网页,每个网页都有自己的关联脚本文件pageN.js
。这些pageN
文件中的每个文件都包含大量变量t1
,…,tn
,每个页面的n个变量不同。(通常n在50到100之间。)
在general.js
中,我有一个“lightswitch”功能:
function onOff(t,binaryDigit){
if ( binaryDigit == 0 ) { // hide graphic element associated with t
}
else { // show graphic element associated with t
}
}
还有一个函数,它将onOff
应用于任意数量的有序对[tk,binaryDigit]
:
function myFunction() {
for (var i = 0; i < arguments.length; i++) {
onOff(arguments[i][0],arguments[i][1])
}
}
函数myFunction(){
for(var i=0;i
由于我将经常调用myFunction
,每次大多数二进制数字都必须设置为0,因此我想构建一个helperFunction
,其中我只需要指定tk
,我希望binaryDigit
为1,并将其他二进制数字设置为0。因此,例如,如果n=50,那么调用helperFunction(t1,t2,t3)
应该执行myFunction([t1,1],[t2,1],[t3,1],[t4,0],…,[t50,0])
我的问题是:我应该怎么做?我对高级JavaScript的经验有限,所以说实话,我一点线索也没有。`在进一步思考(关于厕所)之后,我自己解决了这个问题。我的解决方案是为每个
pageN.js
文件生成一个名为variableArray
的数组,它本质上是该文件中所有变量的列表。接下来,我在general.js
中定义我的helperFunction
,如下所示:
var helperFunction = function() {
var argArray = Array.prototype.slice.call(arguments);
var varArray = argArray[argArray.length-1];
var elementsOff = $(varArray).not($(argArray)).get();
for (var i = 0; i < arguments.length; i++) {
onOff(arguments[i],1);
}
for (var i = 0; i < elementsOff.length; i++) {
onOff(elementsOff[i],0);
}
};
var helperFunction=function(){
var argArray=Array.prototype.slice.call(参数);
var varArray=argArray[argArray.length-1];
var elementsOff=$(varArray).not($(argArray)).get();
for(var i=0;i
函数的调用方式如下:helperFunction(t1、t2、t3、variableArray)