PDA

Просмотр полной версии : несовпадение числа передаваемых параметров


Dvaman
26.07.2005, 20:19
Читаю одну книжку, и в прилагаемых исходниках наткнулся на это.
идет обращение к функции nooFindAndReplace(this.tf_txt, "television", myForm); а выше она объявлена как function nooFindAndReplace(textObj, str) {
this.indices = textObj.text.findInstances(str);
this.doNext();
} - число передаваемых параметров не совпадает! третий параметр не отбрасывается а все равно учитывается.

Еще из кода setInterval(this,"func",30) - насколько я знаю 1-й параметр это имя функции, 2-й интервал, и параметры.

KidsKilla
26.07.2005, 21:03
и чего????

KUZEN
27.07.2005, 14:12
что тебя удивило то ? ...

Dvaman
27.07.2005, 14:57
функция объявляется с двумя параметрами, а при обрщении к ней передается три. нафига тогда передавать в функцию параметр, который она не может принять.

Dvaman
27.07.2005, 15:08
....подозреваю что первый параметр указыват на объект, к которому применяется функция, причем этот параметр является необязательным. я его никогда до этого не указывал и всегда все работало. у сетитервала тоже самое, хотя встроенная подсказка показывает, что первым идет имя функции, затем интервал, и др. пар-ры. и ни какого намека на объект в начале нет.

styx
27.07.2005, 15:46
setInterval(this,"func",30) эквивалентно this.setInterval("func",30)

Dvaman
27.07.2005, 18:03
уже понял.

KidsKilla
27.07.2005, 22:55
1) у любой функции есть массив attributes, через который получаются все переменные.
2) setInterval(function(){trace(attributes)}, 1000, [1,2], "вау!", this)

Dvaman
28.07.2005, 17:02
Q у любой функции есть массив attributes,
у функций я использовал параметр arguments для этого, про attributes че-то не слышал. помоему он как -то с классом xml связан.

Sh@man
28.07.2005, 18:04
KidsKilla ошибся .
attributes у функции нет, есть массив аргументов arguments

KidsKilla
28.07.2005, 22:01
просто ручки у мя искривились =)