У вызовов методов javascript и python одинаковая структура? - PullRequest
1 голос
/ 18 мая 2019

Я начинающий программист. Я заметил сходство между вызовами методов 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 интерпретирует их. Но я не мог заставить все сидеть на твердой ноге. Таким образом,

Какую связь я должен понимать между этими двумя языками или дедукцией, которую я должен делать при объектно-ориентированном программировании? Все, чему меня научили, действительно ценится.

...