Javascript - 缩短ID以获得更高效的脚本

时间:2016-07-27 08:46:21

标签: javascript redefine

我想让我的脚本更有效率,在查看相当大的脚本时,我意识到nT.dS[v]经常重复。 我尝试过以某种方式重新定义它,但没有一个有效,所以我想知道你们中是否有人知道某种方式。

我需要缩短才能成为全球性的。正如我所展示的那样,价值已经缩短(并且运作良好),但也许它可以合并为另一个缩短,以包含表单ID nT和输入标识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>

1 个答案:

答案 0 :(得分: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]混合到一个字母,否则效率会提高得多。

享受