jQuery

Что означают эти точки и стрелки в данных ситуациях? Куда они указывают?

Вот пример в JQuery:
$("#myparentdivid").children("#mychilddivid1").text("text1");
Точки - это же обращение к свойству или методу класса/объекта, как их может быть больше одной в выражении? Это метод в методе что ли?

Или вот на php столкнулся:
Yii::$app->request->isAjax;
Yii::$app - это свойство класса, с этим то ясно, а что-за стрелки после свойства, куда они указывают?
FN
Foks Net
685
атрибут сам может быть объектом
метод может возвращать объект

$("#myparentdivid") - вызывается функция, возвращающая объект
у этого объекта вызываетя метод .children("#mychilddivid1"), возвращающий другой объект
у этого другого объекта вызывается метод .text("text1")
СЛ
Сергей Л
79 872
Лучший ответ
$("#myparentdivid") это функция. Фактически $ - это функция. Она возвращает выборку элементов. jQuery предоставляет возможность одной строчкой кода выполнять действие сразу на этом множестве элементов. Таким образом это функция, которая возвращает объект. У этого объекта (множества) ты вызываешь children. В данном случае:
$("#myparentdivid").children("#mychilddivid1") это то же самое, что и $("#myparentdivid > #mychilddivid1"), то есть находишь все #mychilddivid1 непосредственно внутри #myparentdivid. Хотя это и так уникальный объект, он может быть только один, так что такая иерархия даже не обязательна. Можно сразу обратиться к нему через: $("#mychilddivid1"). Далее, children("#mychilddivid1") тоже возвращает множество элементов. И у этого множества ты вызываешь text. И сам text также возвращает множество, к которому применялась операция, чтобы сразу после .text можно было вызвать ещё одну операцию на том же множестве без необходимости повторно писать данную строку.
A P
A P
78 497
Пример: a.b.c
b - свойство объекта "a". Значением этого свойства должен быть объект, у которого есть свойство "c". Если свойства "c" нет, результат будет undefined (это в JS, как в PHP не знаю). Если a.b = null или undefined, то будет ошибка. Числа и строки автоматически превращаются в объекты.
V.
Vano ..
58 065
php унаследовал стрелки от perl. а все потому, что точка в perl (и в php) используется как оператор конкатенации строк, а не (как в других языках) оператор обращения к члену класса / свойству-методу объекта.
Mr .. Niyazov..!
Mr .. Niyazov..!
39 560

Похожие вопросы