Какие именно параметры в JavaScript (или любой язык программирования в этом отношении) - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть этот фрагмент кода, который я написал и прочитал, что для того, чтобы он работал правильно, я должен использовать параметры, чтобы я это делал, и это работает отлично, однако я не могу понять, что это за параметры, икак они работаютЯ прочитал тонну статей по всей сети, но я просто не мог понять, как работают параметры.Как один параметр знает, чтобы получить инструкции от другого.Вся идея просто очень расстраивает.Также это своего рода побочный вопрос.Могу ли я получить ClassElementBy Class вместо Id или есть что-то похожее, чтобы получить getElementById() для классов?Заранее большое спасибо.

Ниже приведен код в файле script.js:

function setValue(field)
{
    if(''!=field.defaultValue)
    {
        if(field.value==field.defaultValue)
        {
            field.value='';
        }
        else if(''==field.value)
        {
            field.value=field.defaultValue;
        }
    }
}

, и я вызвал этот скрипт для запуска с кодом ниже:

<textarea  id="info" 
           class="textArea" 
           name="comment" 
           cols="40" rows="10" 
           onfocus="setValue(this)" 
           onblur="setValue(this)">
               Whats Your Name
</textarea>

Ответы [ 3 ]

1 голос
/ 21 декабря 2010

Параметры

Если под «параметром» вы подразумеваете «аргумент», совершенно неясно, что вы подразумеваете под «Как один параметр знает, что он получает инструкции от другого.» Аргументы / параметры не получают » инструкции "друг от друга.

Поскольку не совсем понятно, что вы на самом деле спрашиваете здесь, я не буду вдаваться в какие-либо подробности, но предупрежу, что аргументы функции в JavaScript работают немного иначе, чем во многих других языках, таких как C, C # или Java.

Традиционная модель - это специальная область памяти, называемая «стеком»: вызывающая сторона помещает аргументы в стек, а вызываемый объект (вызываемая функция) вытаскивает их из стека.

JavaScript не использует стековую модель. Вместо этого, когда вызывается функция, выделяется объект, называемый контекст выполнения , и вместе с ним что-то, называемое переменный объект , и аргументы (и некоторые другие вещи) заканчиваются до свойства на объекте переменной. (Это происходит незаметно за кулисами, на самом деле вы не получаете прямых ссылок ни на один из объектов, но факт их ясен из поведения крайнего случая.)

Получение элементов по имени класса

Существует getElementsByClassName, который широко поддерживается, кроме IE. Но если вы будете искать "getElementsByClassName IE", вы найдете множество реализаций для IE, которые вы можете добавить на свою страницу.

0 голосов
/ 21 декабря 2010

Ну, я думаю, что многие люди называют их параметрами, в то время как многие другие называют их аргументами, но они оба одинаковы: они - то, что вы передаете в функцию.То, что это делает с параметрами / аргументами, полностью зависит от функции.Вы можете передать элемент DOM, строку, объект, вы называете его ... но функция в конечном итоге решает, что с ним делать.

Ваш дополнительный вопрос о getElementByClass, есть getElementsbyClassName, но его нет-браузер совместим, то есть работает только в определенных браузерах.Хотя есть библиотеки, которые справляются со всем кросс-браузерным безумием, например, Sizzle .

0 голосов
/ 21 декабря 2010

Когда я слышу слово «параметр», я обычно думаю о ссылках, которые передаются в методы для выполнения. Это то, что вы имели ввиду? Будь то функция или метод объекта, обычно это имя, которое мы даем объектным ссылкам, которые передаются. Это то, что вы имеете в виду?

Да, можно запросить элемент DOM, используя имена div, если вы написали для этого свою страницу. jQuery - это библиотека, которую большинство людей используют для управления DOM на HTML-странице. У этого есть много методов для запроса для различных элементов DOM. Возможно, это то, что вы хотите.

...