Я начинающий программист. Я заметил сходство между вызовами методов python и функцией JavaScript f.call (). Мне любопытно, верно ли мое наблюдение.
Позвольте мне представить вам то, что я знаю.
Python Part
В python мы объявляем методы такими:
class Frog:
def jump(self, distance):
print("I am jumping the distance %d" % distance)
Для запуска метода можно сделать:
green = Frog()
green.jump(5) # "I am jumping the distance 5"
Но тот же результат может быть достигнут с помощью:
Frog.jump(green, 5) # "I am jumping the distance 5"
Для меня это означает, что каждый метод должен быть определен с объектом интереса, помещенным в первый параметр.
Часть JavaScript
Сегодня я просматривал MDN и читал эту статью о этом ключевом слове и этой статье о .call () метод .
Вот что я увидел:
function add(c, d) {
return this.a + this.b + c + d;
}
var o = {a: 1, b: 3};
// The first parameter is the object to use as
// 'this', subsequent parameters are passed as
// arguments in the function call
add.call(o, 5, 7); // 16
Видите ли вы, как структура .call (object_of_interest, arg1, arg2, ...) в JavaScript похожа на прыжок (self, arg1, arg2, ...)? Это вспыхнуло в моей голове, но я не чувствовал себя очень уверенно в своих наблюдениях. Это было правильно? Какие были отношения?
Вопрос (Отредактировано на Саняше)
Мне хочется видеть облачные отношения между классами, статическими или нестатическими методами, как javascript интерпретирует их и как python интерпретирует их. Но я не мог заставить все сидеть на твердой ноге. Таким образом,
Какую связь я должен понимать между этими двумя языками или дедукцией, которую я должен делать при объектно-ориентированном программировании? Все, чему меня научили, действительно ценится.