2016-07-27 9 views
0

Я хотел бы сделать мой скрипт более эффективным и, глядя на мой скрипт, который довольно большой, я понимаю, что nT.dS[v] повторяется довольно часто. Я попытался переопределить его несколькими способами, но никто не работал, поэтому мне было интересно, знает ли кто-нибудь из вас способ.Javascript - Сократить идентификатор для более эффективного скрипта

Мне нужно, чтобы сокращение было глобальным. Как я покажу, значение уже сокращено (и работает хорошо), но, возможно, его можно объединить в другом сокращении, чтобы включить форму 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> 
+2

Re * «Эй, парни (и девушки) :)» * две вещи: 1. Пожалуйста, не бросайте «девочки», как граждан второго сорта, помещая их в скобки, это форма случайных исключение, которое не является полезным. 2. Мы не делаем «привет» и «спасибо» на SO. –

+0

Кажется, что ваш код в настоящее время работает, и вы хотите его улучшить. Как правило, эти вопросы слишком упрямы для этого сайта, но вы можете найти лучшую удачу на [CodeReview.SE] (// codereview.stackexchange.com/tour). Не забудьте прочитать [их требования] (// codereview.stackexchange.com/help/on-topic), поскольку они немного более строгие, чем этот сайт. – FrankerZ

+0

Пожалуйста, не задавайте мои вопросы таким образом, T.J. Мне лучше делать что-то, чем обсуждать парня во множественном числе, не говорящем на английском языке и отсутствии общей любезности. Лично я ценю некоторую общую любезность, когда люди тратят время на ответ, поэтому, если это не в правилах здесь, не удаляйте или не переписывайте мои вопросы, чтобы быть невежливым, и заканчивайте это, утверждая, что я бросал женщин в качестве второго класса. Только не надо. –

ответ

0

Хорошо, я не решил, как включить [v] (сокращенно .value) в сочетании с идентификатором глобально в сценарии, но сокращение двойных идентификаторами в локальной области работало нормально и дает скидку 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] вплоть до буквы, он не становится намного более эффективным.

Наслаждайтесь