我想让我的脚本更有效率,在查看相当大的脚本时,我意识到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>
答案 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]
混合到一个字母,否则效率会提高得多。
享受