【问题标题】:Javascript - Shorten Id's for more efficient scriptJavascript - 缩短 ID 以获得更高效的脚本
【发布时间】:2016-07-27 08:46:20
【问题描述】:

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

我需要缩短是全球性的。正如我所展示的,value 已经缩短(并且效果很好),但也许可以将它组合成另一个缩短,包括表单 id nT 和输入 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>

【问题讨论】:

  • Re “嘿,伙计们(和女孩们):)” 两件事:1. 请不要将“女孩”放在括号中,将它们视为二等公民,这是一种无用的随意排除形式。 2. 我们不会对 SO 说“hi”和“thanks”。
  • 您的代码目前似乎可以运行,并且您正在寻求改进它。一般来说,这些问题对于本网站来说过于固执己见,但您可能会在CodeReview.SE 找到更好的运气。记得阅读their requirements,因为他们比这个网站更严格。
  • 请不要这样回答我的问题,T.J.我有比讨论复数、非母语英语和缺乏一般礼貌的人更好的事情要做。就我个人而言,当人们花时间回答时,我很欣赏一些普遍的礼貌,所以除非它在此处的规则中,否则不要删除或重写我的问题是不礼貌的,并声称我将女性视为二等人。只是不要。

标签: javascript redefine


【解决方案1】:

好的,我还没有解决如何在脚本中将[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] 混合成一个字母,否则它不会变得更有效率。

享受

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-27
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多