2013-02-14 3 views
-1

Я хочу знать, почему ответ этого сценариякак он рассчитывается?

var h1Array = $('h1').first().text().split(' '), 
         h1Last = h1Array[h1Array.length-1], 
         answerElem = $('#jschl_answer'); 

        answerElem.val(22+14*10); 
        answerElem.val(parseInt(answerElem.val())+(h1Last.substr(0,h1Last.length-1)).length); 

что сумма этого? я знаю, что 10 * 14 = 140 + 22 = 162, но почему в этом случае сумма составляет 179

так откуда мы получили дополнительные 17?

Другой пример

var h1Array = $('h1').first().text().split(' '), 
         h1Last = h1Array[h1Array.length-1], 
         answerElem = $('#jschl_answer'); 

        answerElem.val(46+36*8); 
        answerElem.val(parseInt(answerElem.val())+(h1Last.substr(0,h1Last.length-1)).length); 

сумма = 347, а сумма answerElem.val (46 + 36 * 8); на самом деле равен 334, откуда мы получили дополнительные 13?

Заранее спасибо.

+7

Java! = JavaScript –

+4

Кажется, что он получен из 'h1Last.substr (0, h1Last.length-1)). Length', что бы это ни было. –

+1

@iamnotmaynard Я думаю, что ваш комментарий вводит в заблуждение. – undefined

ответ

4
answerElem.val(22+14*10); // 162 
answerElem.val(
    parseInt(answerElem.val()) + // 162 
    (h1Last.substr(0,h1Last.length-1)).length // guess this must be 17 
); 
0

Это длина последних маркеров меток на "",

  • из текстового значения
    • первого поля
      • элемента() с именем «h1 "
Смежные вопросы