Влияет ли взаимодействие с переменными в следующем методе на снижение производительности - PullRequest
0 голосов
/ 30 августа 2011

Хорошо, у меня есть ссылка на div, хранящуюся в переменной, давайте назовем ее div_var.

Теперь я хочу что-то с ней сделать;Я могу сослаться на него обоими следующими способами:

div_var.animate()......
$(div_var).animate().....

Первый способ, очевидно, проще, единственная проблема в том, что мой редактор кода (Komodo) не будет предлагать подсказки кода / дополнения кода для него.Второй способ дает мне полную подсказку кода, но я не знаю, получаю ли я удар по производительности для этого.

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Феликс Клинг был прав, он медленнее.Я создал простой тест

HTML

<html>

<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
    <script type="text/javascript" src="test.js"></script>
</head>

<body style="width: 600px;">
    <p class="t1-start">1</p>
    <p class="t2-start">1</p>
</body>

</html>

JS (test.js)

jQuery(document).ready(function($) {

var num = $('.t1-start')
var num2 = $('.t2-start')

firstCount()    

function firstCount(){
    var time = new Date()
    var start = time.getTime()

    for (var i=0; i < 10000; i++) {
        $(num).append(' 1');
    }
    var time2 = new Date()
    var end = time2.getTime()
    var leng = end - start;
    var leng_string = '<h1>'+leng+'</h1>'
    $(num).replaceWith(leng_string)

    secondCount()
}

function secondCount(){
    var time = new Date()
    var start = time.getTime()

    for (var i=0; i < 10000; i++) {
        num2.append(' 1');
    }
    var time2 = new Date()
    var end = time2.getTime()
    var leng = end - start;
    var leng_string = '<h1>'+leng+'</h1>'
    $(num2).replaceWith(leng_string)
}

})

первыйцикл на 15-20% медленнее.

0 голосов
/ 30 августа 2011

Если div_var уже является объектом jQuery, то повторная передача его в jQuery является излишней.

Влияет ли это на производительность, зависит от вашего приложения. На самом деле это дополнительный ненужный вызов функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...