0

我想让我的脚本更高效,并且在查看我的脚本相当大时,我意识到这nT.dS[v]经常重复。我试过用几种方法重新定义它,但都没有奏效,所以我想知道你们中是否有人知道一种方法。

我需要缩短是全球性的。正如我所展示的, value 已经缩短(并且效果很好),但也许可以将它组合成另一个缩短以包含表单 idnT和输入 id dS,因为这是程序中关注的中心。

<script id="jsGlobals">
var v = 'value'; // [v]  - Global variable in HTML
...
...
...
</script>

<script id="jsCompute">
function compute(nT) {
var sTr = nT.dS[v];  // nT is formID and dS is inputID. [v] replaces .value
var q = sTr.toUpperCase();
    if(q == "1") nT.dS[v] = dS116[v] //dS116 in input
    if(q == "2") nT.dS[v] = dS117[v] //ds117 is input
else nT.dS[v] = eval(nT.dS[v]) ;
}

some other functions

some other functions
</script>
4

1 回答 1

0

好的,我还没有解决如何在脚本中将[v](缩写.value)与全局 id 结合起来,但是将双 ID 缩短到本地范围效果很好,并且减少了 20%。只是为其他可能觉得有用的人写这个。

所以简而言之,我可以a =nT.dS;在函数启动后添加,然后写:if(q == "1") a[v] = dS116[v] 而不是: if(q == "1") nT.dS[v] = dS116[v] 香草: if(q == "1") nT.dS.value = dS116.value

为什么这很重要?好吧,基本上你可以在一个文件中添加一百万个问题和答案,跨浏览器工作,html5 ......并且仍然保持在一个或两个兆字节以下。在没有 sql 的情况下构建自己的(固定或输入选择)搜索引擎。这 20% 很快就增加了相当多的毫秒加载时间和千字节的文件大小存储。

文本答案而不是本地存储的用户输入答案(或机器人输入)如下所示:

if(q == "test") a[v] = "Hell yeah! Love it!"

香草看起来像这样:

if(q =="test") nT.dS.value ="Hell yeah! Love it!"

除非我可以混合a[v]成一个字母,否则它不会变得更有效率。

享受

于 2016-07-28T11:17:32.197 回答