Почему мы используем «p1Index = -1» и «len = p1.parentNode.childNodes.length»? Скажите, пожалуйста, где «p1.parentNode.childNodes» указывают на одно и то же? - PullRequest
0 голосов
/ 29 марта 2020
<!DOCTYPE html>
<html>
    <head>
        <title>DOM Range Example</title>
        <script type="text/javascript">
            function useRanges() {
                var range1 = document.createRange(),
                    range2 = document.createRange(),
                    p1 = document.getElementById("p1"),                
                    p1Index = -1,
                    i, len;

                for (i=0, len=p1.parentNode.childNodes.length; i < len; i++) {
                    if (p1.parentNode.childNodes[i] == p1) {
                        p1Index = i;
                       break;
                    }
                }

'

Я нахожу его в javascript для веб-разработчика

здесь мы можем увидеть p1Index = -1, почему мы этого не делаем использовать p1Index = 0? '

1 Ответ

0 голосов
/ 29 марта 2020

В вашем примере на p1Index нет ссылки, пока он не был переназначен как p1Index = i; так что вы можете фактически удалить оператор присваивания без разницы в приведенном выше примере:

        function useRanges() {
            var range1 = document.createRange(),
                range2 = document.createRange(),
                p1 = document.getElementById("p1"),                
                p1Index, // The assignment isn't needed here
                i, len;

            for (i=0, len=p1.parentNode.childNodes.length; i < len; i++) {
                if (p1.parentNode.childNodes[i] == p1) {
                    p1Index = i; // It just gets overwritten here 
                    break;
                }
            }
            // It might be used down here somewhere - your code example wasn't complete - p1Index is only conditionally overwritten when p1.parentNode.childNodes[i] == p1
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...